summaryrefslogtreecommitdiff
path: root/src/stdio/open_memstream.c
AgeCommit message (Collapse)AuthorLines
2012-11-09always add memory streams to stdio open file listRich Felker-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.
2012-11-08clean up stdio_impl.hRich Felker-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.
2011-09-04memstreams: fix incorrect handling of file pos > current sizeRich Felker-2/+2
the addition is safe and cannot overflow because both operands are positive when considered as signed quantities.
2011-09-04optimize seek function for memory streamsRich Felker-12/+3
2011-09-04fix twos complement overflow bug in mem streams boundary checkRich Felker-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.
2011-09-03fix some length calculations in memory streamsRich Felker-1/+1
2011-09-03implement open_memstreamRich Felker-0/+94
this is the first attempt, and may have bugs. only minimal testing has been performed.