Siddhesh Poyarekar
ae5062201d
ungetc: Guarantee single char pushback
...
The C standard requires that ungetc guarantees at least one pushback,
but the malloc call to allocate the pushback buffer could fail, thus
violating that requirement. Fix this by adding a single byte pushback
buffer in the FILE struct that the pushback can fall back to if malloc
fails.
The side-effect is that if the initial malloc fails and the 1-byte
fallback buffer is used, future resizing (if it succeeds) will be
2-bytes, 4-bytes and so on, which is suboptimal but it's after a malloc
failure, so maybe even desirable.
A future optimization here could be to have the pushback code use the
single byte buffer first and only fall back to malloc for subsequent
calls.
Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org >
Reviewed-by: Maciej W. Rozycki <macro@redhat.com >
2024-12-17 17:42:55 -05:00
..
2024-12-17 17:42:55 -05:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2023-06-13 19:59:08 -04:00
2023-06-19 09:15:05 -04:00
2023-06-01 12:40:05 -04:00
2024-01-01 10:53:40 -08:00
2023-06-01 12:40:05 -04:00
2023-06-01 12:40:05 -04:00
2024-05-13 12:50:48 +01:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-12-17 17:42:55 -05:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-09-05 20:08:10 +00:00
2024-09-05 20:08:10 +00:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-12-17 17:42:55 -05:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-06-04 14:42:06 +02:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-11-25 16:45:59 -03:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2023-03-27 13:57:55 -03:00
2024-01-01 10:53:40 -08:00
2024-12-17 17:42:55 -05:00
2024-10-25 15:05:06 -03:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-12-17 17:42:55 -05:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-05-21 10:12:25 -07:00
2024-04-10 14:53:39 -03:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-05-17 14:13:25 -07:00
2024-01-01 10:53:40 -08:00
2024-06-11 22:17:12 +01:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-10-25 15:05:06 -03:00
2024-10-25 15:05:06 -03:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2022-12-19 18:56:55 +01:00
2022-09-22 08:48:04 -03:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-07-09 10:12:36 +02:00
2022-09-22 08:48:04 -03:00
2024-09-20 10:32:35 -04:00
2024-09-20 10:32:35 -04:00
2024-09-20 10:32:35 -04:00
2024-06-04 16:09:33 +02:00
2024-10-01 07:31:25 +08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-08-14 11:48:34 +02:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-10-23 13:40:16 +02:00
2023-06-02 01:39:48 +00:00
2024-01-01 10:53:40 -08:00
2024-05-06 07:49:40 -07:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-12-17 17:42:55 -05:00
2024-11-25 16:45:59 -03:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00