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-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-13 19:59:08 -04:00
2023-06-06 08:23:53 -04:00
2023-06-01 13:01:32 -04:00
2018-07-18 21:04:12 +00:00
2023-06-13 19:59:08 -04:00
2021-09-03 22:06:44 +05:30
2017-11-02 12:45:20 +01:00
2023-06-01 13:01:32 -04:00
2019-01-03 11:12:39 -05:00
2020-07-07 14:54:12 +00:00
2017-03-22 08:44:32 -04:00
2024-01-01 10:53:40 -08:00
2023-05-18 12:34:00 -04:00
2023-05-18 12:34:00 -04:00
2023-05-18 12:34:00 -04: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
2022-05-13 10:54:41 -03:00
2024-01-01 10:53:40 -08:00
2022-05-13 10:54:41 -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-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
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-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
2017-02-25 09:59:46 -05:00
2017-02-25 09:59:46 -05:00
2024-01-01 10:53:40 -08:00
2022-10-28 11:16:51 +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
2022-05-13 10:54:41 -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-04-10 14:53:39 -03: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
2023-06-06 08:23:53 -04: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
2021-02-03 16:47:47 -03:00
2024-04-10 14:53:39 -03:00
2024-04-10 14:53:39 -03:00
2024-01-01 10:53:40 -08:00
2024-04-10 14:53:39 -03:00
2024-04-10 14:53:39 -03:00
2024-04-10 14:53:39 -03:00
2024-01-01 10:53:40 -08:00
2018-12-05 18:15:43 -02:00
2024-01-01 10:53:40 -08:00
2023-06-13 19:59:08 -04:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-09-26 15:33:03 +02:00
2018-07-18 21:04:12 +00:00
2015-08-06 02:59:04 -04:00
2024-09-04 16:24:12 -04:00
2017-11-16 11:49:26 +05:30
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
2017-11-02 12:45:20 +01:00
2024-09-24 14:06:22 +00:00
2024-09-05 20:08:10 +00:00
2024-09-04 16:32:21 +00:00
2024-09-05 11:16:59 +00:00
2024-09-04 16:32:21 +00:00
2024-09-28 21:06:11 +02:00
2024-09-20 23:26:31 +00:00
2024-09-20 23:26:31 +00:00
2024-09-20 23:26:31 +00:00
2024-09-20 23:26:31 +00:00
2024-10-07 19:44:25 +00:00
2024-10-07 19:44:25 +00:00
2024-09-04 16:32:21 +00:00
2024-09-04 16:32:21 +00:00
2024-09-20 23:26:31 +00:00
2024-09-20 23:26:31 +00:00
2024-10-07 19:44:25 +00:00
2024-01-01 10:53:40 -08:00
2024-09-09 15:58:07 -03:00
2024-09-30 15:57:12 -03:00
2024-09-09 14:32:20 -03:00
2017-11-16 11:49:26 +05:30
2024-08-21 19:58:14 +00:00
2024-08-21 19:58:14 +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-25 11:41:02 +01:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2023-06-01 12:45:13 -04: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-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-12-18 02:19:58 +08:00
2024-11-07 06:14:24 +00:00
2024-12-18 02:19:58 +08:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-15 22:43:54 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +00:00
2024-11-07 06:14:24 +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-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2017-02-25 09:59:46 -05:00
2024-01-01 10:53:40 -08:00
2024-08-16 16:05:20 +02:00
2018-10-17 09:34:13 +02:00
2024-02-01 11:02:01 +00:00
2024-02-01 17:55:57 +00:00
2024-02-01 11:02:01 +00:00
2024-02-01 11:02:01 +00:00
2024-02-01 11:02:01 +00:00
2024-07-26 13:21:34 +01: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-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
2017-02-25 09:59:46 -05:00
2024-01-01 10:53:40 -08:00
2017-11-02 12:45:20 +01:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2024-08-15 13:56:13 -04:00
2024-12-17 17:42:55 -05:00
2024-08-15 13:55:07 -04: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
2017-11-02 12:45:20 +01:00
2024-01-01 10:53:40 -08:00
2024-01-01 10:53:40 -08:00
2023-10-30 13:03: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-10-25 15:05:06 -03:00
2024-01-01 10:53:40 -08:00
2018-12-05 18:15:42 -02:00
2024-01-01 10:53:40 -08:00
2018-12-05 18:15:42 -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
2015-10-16 20:21:49 +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