State-of-the-art binary code analysis tools

Detailed Description

safer versions of sprintf/sscanf

Our definitions of sprintf-like functions support one additional format specifier

"%a" which corresponds to ::ea_t

Usual optional fields like the width can be used too: %04a. The width specifier will be doubled for 64-bit version. These function return the number of characters _actually written_ to the output string. excluding the terminating zero. (which is different from the snprintf). They always terminate the output with a zero byte (if n > 0).


idaman THREAD_SAFE int ida_export qsnprintf (char *buffer, size_t n, const char *format,...)
 A safer snprintf.
idaman THREAD_SAFE int ida_export qsscanf (const char *input, const char *format,...)
 A safer sscanf.
idaman THREAD_SAFE int ida_export qvsnprintf (char *buffer, size_t n, const char *format, va_list va)
 See qsnprintf()
idaman THREAD_SAFE int ida_export qvsscanf (const char *input, const char *format, va_list va)
 See qsscanf()
idaman THREAD_SAFE int ida_export append_snprintf (char *buf, const char *end, const char *format,...)
 Append result of sprintf to 'buf'.