Mail Archives: djgpp/2004/09/02/10:43:21
Hi,
compiling and running this code:
#include <stdio.h>
int main(int, const char**)
{
char c[2];
printf("%d\n", sscanf("A", "%c%c", c, c + 1));
return 0;
}
gives:
1 in GNU libc (on Linux)
1 in Borland C++ 3.1 (on DOS)
-1 in djgpp
It's conformant with the docs: "If input ends, or if there is any
input failure before the first item is converted and assigned, `EOF'
is returned.", so it's not to be called a 'bug', but...
Do you think it's a standard violation, or just a "difference",
ie. behavior not specified by POSIX, ANSI or other (involved)
authority?
Thanks,
--
Egon Eckert, Heaven Industries, s.r.o.
E-mail: egon AT heaven DOT industries DOT cz
- Raw text -