Hello,

I'm wondering why fgetc() returns 0xff if called with /dev/null:

#include <stdio.h>
#include <stdlib.h>

int
main(void)
{
       int      c;
       FILE    *f;

       f = fopen("/dev/null", "r");

       if (c != EOF)
               printf("%c\n", fgetc(f));
}

> gcc foo.c
> ./a.out
ÿ

This causes a bug in BSD grep as /dev/null is not distinguished from ordinary files in the code, thus I was expecting it just returned EOF, but in reality this is not the case. How such cases should be handled?

Thanks in advance,
Gábor
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to