int f (/*@open@*/ /*@read@*/ FILE *f1, /*@open@*/ /*@write@*/ FILE *f2) { int c; c = fgetc (f1); c = fgetc (f2); /* error: not readable */ (void) fputc ('a', f1); /* error */ (void) fseek (f1, 0, SEEK_CUR); (void) fputc ('a', f1); /* okay */ c = fgetc (f1); /* error */ return c; }