mailing list of musl libc
 help / color / mirror / code / Atom feed
* fgets behaviour after eof
@ 2014-08-27 11:16 Szabolcs Nagy
  2014-08-27 16:52 ` Rich Felker
  2014-08-27 17:14 ` Rich Felker
  0 siblings, 2 replies; 3+ messages in thread
From: Szabolcs Nagy @ 2014-08-27 11:16 UTC (permalink / raw)
  To: musl

the C standard requires that

"If end-of-file is encountered and no characters have been read into the
array, the contents of the array remain unchanged and a null pointer is
returned. If a read error occurs during the operation, the array contents
are indeterminate and a null pointer is returned."

but musl's fgets always terminates the buffer with \0 even after EOF,
this is easy to fix:

-       *p = 0;
+       if (s) *p = 0;

However the behaviour of fgets(s, 1, f) is unclear if feof(f) is true,
in this case nothing is read so fgets cannot "encounter" end-of-file,
so it may set s[0]=0 and return s or it could check feof and return 0.
(glibc does not check feof)


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-08-27 17:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-27 11:16 fgets behaviour after eof Szabolcs Nagy
2014-08-27 16:52 ` Rich Felker
2014-08-27 17:14 ` Rich Felker

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).