aboutsummaryrefslogtreecommitdiff
path: root/src/malloc/aligned_alloc.c (unfollow)
Commit message (Expand)AuthorFilesLines
2015-06-13remove cancellation points in stdio•••commit 58165923890865a6ac042fafce13f440ee986fd9 added these optional cancellation points on the basis that cancellable stdio could be useful, to unblock threads stuck on stdio operations that will never complete. however, the only way to ensure that cancellation can achieve this is to violate the rules for side effects when cancellation is acted upon, discarding knowledge of any partial data transfer already completed. our implementation exhibited this behavior and was thus non-conforming. in addition to improving correctness, removing these cancellation points moderately reduces code size, and should significantly improve performance on i386, where sysenter/syscall instructions can be used instead of "int $128" for non-cancellable syscalls. Rich Felker3-24/+3
2015-06-13fix idiom for setting stdio stream orientation to wide•••the old idiom, f->mode |= f->mode+1, was adapted from the idiom for setting byte orientation, f->mode |= f->mode-1, but the adaptation was incorrect. unless the stream was alreasdy set byte-oriented, this code incremented f->mode each time it was executed, which would eventually lead to overflow. it could be fixed by changing it to f->mode |= 1, but upcoming changes will require slightly more work at the time of wide orientation, so it makes sense to just call fwide. as an optimization in the single-character functions, fwide is only called if the stream is not already wide-oriented. Rich Felker6-6/+6
2015-06-13add printing of null %s arguments as "(null)" in wide printf•••this is undefined, but supported in our implementation of the normal printf, so for consistency the wide variant should support it too. Rich Felker1-0/+1
2015-06-13add %m support to wide printfRich Felker1-0/+2