Disapointing.
The reason why I have asked this is because according to C99 or POSIX
printf and scanf family of functions shall return EINVAL if there are
insufficient arguments. This makes it necessary to be able to detect
how many arguments are in va_list. I have single stepped through the
_doscan() code inspecting the content of va_list and the list was always
terminated with a NULL pointer. I only checked this with gcc472b.
Because I have seen no djgpp specific code that added the list terminator
I have assumed that this was done by gcc and that it could be taken for
granted that the list will always be terminated this way.
I will will look at glibc and cygwin to see how they handle this issue.
Regards,
Juan M. Guerrero