about summary refs log tree commit diff
path: root/src/stdio/open_memstream.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/+3
| | | | | | | | | | | 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-1/+1
|
* implement open_memstreamRich Felker2011-09-031-0/+94
this is the first attempt, and may have bugs. only minimal testing has been performed.