diff options
| author | Joseph Myers <josmyers@redhat.com> | 2025-01-28 19:38:27 +0000 |
|---|---|---|
| committer | Joseph Myers <josmyers@redhat.com> | 2025-01-28 19:38:27 +0000 |
| commit | 377e9733b50ce41e496c467ddcc112f73c88f3bd (patch) | |
| tree | 2aaeddae812df4ad17ff3ca426b59c18cd307096 /stdio-common/Makefile | |
| parent | 1515f74fd81035a79861cd9fa12053fa9450ec65 (diff) | |
| download | glibc-377e9733b50ce41e496c467ddcc112f73c88f3bd.tar.xz glibc-377e9733b50ce41e496c467ddcc112f73c88f3bd.zip | |
Fix fflush after ungetc on input file (bug 5994)
As discussed in bug 5994 (plus duplicates), POSIX requires fflush
after ungetc to discard pushed-back characters but preserve the file
position indicator. For this purpose, each ungetc decrements the file
position indicator by 1; it is unspecified after ungetc at the start
of the file, and after ungetwc, so no special handling is needed for
either of those cases.
This is fixed with appropriate logic in _IO_new_file_sync. I haven't
made any attempt to test or change things in this area for the "old"
functions; the case of files using mmap is addressed in a subsequent
patch (and there seem to be no problems in this area with files opened
with fmemopen).
Tested for x86_64.
Diffstat (limited to 'stdio-common/Makefile')
| -rw-r--r-- | stdio-common/Makefile | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/stdio-common/Makefile b/stdio-common/Makefile index 1e7bca641e..4a3810cdf2 100644 --- a/stdio-common/Makefile +++ b/stdio-common/Makefile @@ -305,6 +305,7 @@ tests := \ tst-swscanf \ tst-tmpnam \ tst-ungetc \ + tst-ungetc-fflush \ tst-ungetc-leak \ tst-ungetc-nomem \ tst-unlockedio \ |
