static void checkOpen (/*@open@*/ /*@null@*/ FILE *);
static void checkClosed (/*@closed@*/ /*@null@*/ FILE *);
int main (void)
{
FILE *fle = NULL;
char s[10];
checkClosed (fle); /* okay */
checkOpen (fle); /* error */
fle = fopen ("test", "r");
checkClosed (fle); /* error */
checkOpen (fle); /* okay */
(void) fclose (fle);
checkOpen (fle); /* error */
checkClosed (fle); /* okay */
return 0; /* error: f is not closed */
}
# if 0
@.S
(void) fgets (s, 3, fle);
(void) fclose (fle);
(void) fgets (s, 3, fle); /* error: f is not open */
(void) freopen ("test", "r", fle);
(void) fgets (s, 3, fle);
# endif
syntax highlighted by Code2HTML, v. 0.9.1