8 Commits

Author SHA1 Message Date
Rich Felker
400c5e5c83 use restrict everywhere it's required by c99 and/or posix 2008
to deal with the fact that the public headers may be used with pre-c99
compilers, __restrict is used in place of restrict, and defined
appropriately for any supported compiler. we also avoid the form
[restrict] since older versions of gcc rejected it due to a bug in the
original c99 standard, and instead use the form *restrict.
2012-09-06 22:44:55 -04:00
Rich Felker
d2e061a2bd more fmemopen null termination fixes
null termination is only added when current size grows.
in update modes, null termination is not added if it does not fit
(i.e. it is not allowed to clobber data).

these rules make very little sense, but that's how it goes..
2011-09-04 21:53:20 -04:00
Rich Felker
e72ee5786b fix some fmemopen behaviors
read should not be allowed past "current size".
append mode should write at "current size", not buffer size.
null termination should not be written except when "current size" grows.
2011-09-04 21:40:42 -04:00
Rich Felker
22e4542348 fmemopen: fix eof handling, hopefully right this time 2011-09-04 16:06:38 -04:00
Rich Felker
f81279ff58 fmemopen fixes
disallow seek past end of buffer (per posix)
fix position accounting to include data buffered for read
don't set eof flag when no data was requested
2011-09-04 16:04:28 -04:00
Rich Felker
d4fa6f0e08 implement fmemopen
testing so far has been minimal. may need further work.
2011-09-03 23:26:17 -04:00
Rich Felker
9dd7d7e3f6 partially-written draft of fmemopen, still in #if 0 2011-03-14 11:49:55 -04:00
Rich Felker
0b44a0315b initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00