8 Commits

Author SHA1 Message Date
christos
e222705068 Improvements to fgetwln(3) from Andrey Chernov:
1) Set the stdio error indicator on __slbexpand() failure.

2) fgetwc(3) may succeed even when ferror(3) is already set
   (for example, consider a program using SIG_IGN on SIGTTIN,
   reading from the tty while in the background, getting EIO,
   then coming to the foreground and reading again).
   So do not force fgetwln(3) to fail in such a case either.
   (Yes, the program should probably clearerr(3) before
   reading again, but let's be nicer in case it forgets.)
2016-08-27 13:15:48 +00:00
christos
8c27d15300 missing _ 2016-08-22 07:41:10 +00:00
christos
a78f4eaca1 From OpenBSD:
bugfix: when fgetwc(3) fails, fgetwln(3) must fail as well;
2016-08-22 06:11:39 +00:00
christos
526d942790 - ansify, knf.
- no functional changes
2012-03-15 18:22:30 +00:00
joerg
00711901b6 Use a proper char */size_t pair in __sfileext to keep track of the line
buffer for fgetln and fgetwln. Simplifies code by dropping the INT_MAX
related logic. Drop conditionals around FREELB, free(NULL) is valid.
2010-01-11 20:39:29 +00:00
roy
86eafd3e05 __getdelim works on strings up to SIZE_MAX - 2 and returns 0 on EOF.
getdelim works on strings up to SSIZE_MAX and returns -1 on EOF.
__fgetstr is now just a wrapper around __getdelim and ensures that
the buffer doesn't overflow the one provided by FILE.
__slbexpand is now static in fgetwln as it is the only consumer of that func.
2009-09-24 20:38:53 +00:00
lukem
bc395719cc sign-compare fix 2009-01-31 06:08:28 +00:00
christos
f432bbb6fd Add the missing wide char support functions from freebsd.
XXX: long double support is missing until we get gdtoa, and add the
necessary wide functions.
2005-05-14 23:51:02 +00:00