Program som byggts strikt efter C-standarden påverkas av beteendeförändringar av vissa biblioteksfunktioner. Ett exempel på detta är program som kompilerats med kompileringsläget cc -Xc eller c89. Beteendet har ändrats för följande biblioteksfunktioner:
fgetc()
fgets()
fgetwc()
fgetws()
getc()
getchar()
gets()
getwc()
getwchar()
getws()
En formell tolkning av 1990 C-standarden kräver att efter att ett EOF-villkor (End Of File) har angetts, returneras inga fler data från filen vid efterföljande åtgärder. Undantaget är om filpekaren positioneras om eller felet och EOF-flaggor explicit tas bort från programmet.
Beteendet för alla andra kompileringslägen är oförändrade. Gränssnitten kan läsa ytterligare, nyskrivna data från strömmen efter att EOF-indikatorn har angetts.
Åtgärd: Anropa fseek() eller clearerr() i strömmen om du vill att ytterligare data ska läsas efter att EOF-villkoret har rapporterats i strömmen.