about summary refs log tree commit diff
path: root/src/stdio/open_wmemstream.c
Commit message (Collapse)AuthorAgeFilesLines
* always add memory streams to stdio open file listRich Felker2012-11-091-6/+7
| | | | | | | | | | | | per interpretation for austin group issue #626, fflush(0) and exit() must block waiting for a lock if another thread has locked a memory stream with flockfile. this adds some otherwise-unnecessary synchronization cost to use of memory streams, but there was already a synchronization cost calling malloc anyway. previously the stream was only added to the open file list in single-threaded programs, so that upon subsequent call to pthread_create, locking could be turned on for the stream.
* clean up stdio_impl.hRich Felker2012-11-081-0/+4
| | | | | | | | | | | this header evolved to facilitate the extremely lazy practice of omitting explicit includes of the necessary headers in individual stdio source files; not only was this sloppy, but it also increased build time. now, stdio_impl.h is only including the headers it needs for its own use; any further headers needed by source files are included directly where needed.
* memstreams: fix incorrect handling of file pos > current sizeRich Felker2011-09-041-2/+2
| | | | | the addition is safe and cannot overflow because both operands are positive when considered as signed quantities.
* optimize seek function for memory streamsRich Felker2011-09-041-12/+3
|
* fix twos complement overflow bug in mem streams boundary checkRich Felker2011-09-041-1/+1
| | | | | | the expression -off is not safe in case off is the most-negative value. instead apply - to base which is known to be non-negative and bounded within sanity.
* fix some length calculations in memory streamsRich Felker2011-09-031-2/+2
|
* implement open_wmemstreamRich Felker2011-09-031-0/+95
not heavily tested, but it seems to be correct, including the odd behavior that seeking is in terms of wide character count. this precludes any simple buffering, so we just make the stream unbuffered.