diff options
Diffstat (limited to 'main/musl/fix-return-value-of-ungetc-when-argument-is-outside-.patch')
-rw-r--r-- | main/musl/fix-return-value-of-ungetc-when-argument-is-outside-.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/main/musl/fix-return-value-of-ungetc-when-argument-is-outside-.patch b/main/musl/fix-return-value-of-ungetc-when-argument-is-outside-.patch new file mode 100644 index 0000000000..b03b1861de --- /dev/null +++ b/main/musl/fix-return-value-of-ungetc-when-argument-is-outside-.patch @@ -0,0 +1,31 @@ +From f6ecd0c296181bf6a2a7f54e3406c846500e8e63 Mon Sep 17 00:00:00 2001 +From: Rich Felker <dalias@aerifal.cx> +Date: Fri, 18 Oct 2019 21:11:44 -0400 +Subject: [PATCH] fix return value of ungetc when argument is outside unsigned + char range + +aside from the special value EOF, ungetc is specified to accept and +convert values outside the range of unsigned char. conversion takes +place automatically as part of assignment when storing into the +buffer, but the return value is also required to be the resulting +converted value, and this requirement was not satisfied. + +simplified from patch by Wang Jianjian. +--- + src/stdio/ungetc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/stdio/ungetc.c b/src/stdio/ungetc.c +index 180673a4..bc629d4c 100644 +--- a/src/stdio/ungetc.c ++++ b/src/stdio/ungetc.c +@@ -16,5 +16,5 @@ int ungetc(int c, FILE *f) + f->flags &= ~F_EOF; + + FUNLOCK(f); +- return c; ++ return (unsigned char)c; + } +-- +2.24.1 + |