...
C99 functions that themselves that take the variadic primitive va_list
pose an additional thread threat when dealing with variadic functions. Calls to vfprintf()
, vfscanf()
, vprintf()
, vscanf()
, vsnprintf()
, vsprintf()
, and vsscanf()
use the va_arg()
macro, invalidating the parameterized va_list
. Thus, this va_list
must not be used except for a call to the va_end()
macro once any of those functions are used.
...