strange issue reading /dev/null
Gabor Kovesdan
gabor at kovesdan.org
Thu Aug 7 15:04:33 UTC 2008
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
More information about the freebsd-hackers
mailing list