make fmemopen's w+ mode truncate the buffer
authorRich Felker <dalias@aerifal.cx>
Tue, 28 Aug 2018 23:16:40 +0000 (19:16 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 28 Aug 2018 23:16:40 +0000 (19:16 -0400)
commitf66022dda8d18e6732626c7806f6c4d32023d574
tree8eefb9fe10f74c6e0e1406aceceaa636ca9c68cb
parentb39b47bac8ee5505cfc595000a140c35460e1cac
make fmemopen's w+ mode truncate the buffer

the w+ mode is specified to "truncate the buffer contents". like most
of fmemopen, exactly what this means is underspecified. mode w and w+
of course implicitly 'truncate' the buffer if a write from the initial
position is flushed, so in order for this part of the text about w+
not to be spurious, it should be interpreted as requiring something
else, and the obvious reasonable interpretation is that the truncation
is immediately visible if you attempt to read from the stream or the
buffer before writing/flushing.

this interpretation agrees with reported conformance test failures.
src/stdio/fmemopen.c