#include #include void f1 ( void ) { FILE *fp; fpos_t *pos; fp = fopen ( "file.txt", "w+" ); errno = 0; fgetpos ( fp, pos ); someFunction ( ); /* Non-compliant - function call */ if ( 0 != errno ) { } errno = 0; fsetpos ( fp, pos ); if ( 0 != errno ) /* Compliant */ { } } void f2 ( FILE *f, fpos_t *pos ) { errno = 0; if ( fsetpos ( f, pos ) == 0 ) { /* Compliant by exception - no need to test errno as no out-of-band error reported. */ } else { /* Something went wrong - errno holds an implementation-defined positive value. */ handleError ( errno ); } }