Hi All, The 9th assertion of fgetc in "IEEE std 2003.1-1992 Test Methods for Measuring Conformance to Posix-Part1 System Interface" document states: When the stream pointer argument addresses a file descriptor that is not open for reading, then a call to fgetc()returns a value of EOF and sets errno to [EBADF]. The current implementation does not set any errno. It says "No error".
here is the small program which i compiled using gcc under cygwin and it prints 'FAILURE: No error' #include<stdio.h> #include<errno.h> int main() { char path[]="./testfile"; FILE *p; p=fopen(path,"w"); /*file descriptor is open for writing!*/ fgetc(p); /*must set errno to EBADF*/ if(errno!=EBADF) perror("FAILURE"); else printf("PASS\n"); return 0; } Regards, ghanshyam -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/