Mail Archives: djgpp/2004/09/02/11:45:21
Egon Eckert <egon AT heaven DOT industries DOT cz> wrote:
> 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?
It's a standard(1) violation in GNU libc and Borland C++ 3.1 (if your
report is accurate).
1. C99 (at least).
Right,
MartinS
- Raw text -