1.5.5.1 fgetc returns no error for bad file descriptor

Ghanshyam gshyam@denver.india.mentorg.com
Thu Mar 11 07:59:00 GMT 2004


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/



More information about the Cygwin mailing list