Solaris 10 5/09 Versionshinweise

EOF-Verhaltensänderung bei der STDIO getc-Familie

Anwendungen, die im strengen Standard-C-Konformitätsmodus erzeugt wurden, sind von den Verhaltensänderungen bestimmter Bibliotheksfunktionen betroffen. Ein Beispiel hierfür sind Anwendungen, die im Kompilationsmodus cc -Xc oder c89 kompiliert wurden. Das Verhalten hat sich für folgende Bibliotheksfunktionen geändert:

Eine formale Interpretation des C-Standards von 1990 erfordert es, dass nach dem Setzen einer EOF-Bedingung (End of File) bei nachfolgenden Eingabeoperationen keine Daten mehr von der Datei zurückgegeben werden. Die Ausnahme hierbei ist eine Neupositionierung des Dateizeigers oder das explizite Löschen der Fehler- und EOF-Flags durch die Anwendung.

Das Verhalten aller anderen Kompilationsmodi ist unverändert. Insbesondere die Schnittstellen können zusätzlich neu geschriebene Daten aus dem Stream lesen, nachdem die EOF-Markierung gesetzt wurde.

Abhilfemaßnahme: Rufen Sie fseek() oder clearerr() für den Stream auf, um zusätzliche Daten zu lesen, nachdem die EOF-Bedingung an den Stream übergeben wurde.