This is the mail archive of the
cygwin
mailing list for the Cygwin project.
1.5.5.1 fgetc returns no error for bad file descriptor
- From: Ghanshyam <gshyam at denver dot india dot mentorg dot com>
- To: cygwin at cygwin dot com
- Cc: harsh_arora at mentorg dot com
- Date: Thu, 11 Mar 2004 12:12:36 +0000 (GMT)
- Subject: 1.5.5.1 fgetc returns no error for bad file descriptor
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/