musl: add fputs patch.
This commit is contained in:
parent
56cfde2b17
commit
ec85fadaab
2 changed files with 35 additions and 1 deletions
|
@ -0,0 +1,34 @@
|
||||||
|
From 10a17dfbad2c267d885817abc9c7589fc7ff630b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rich Felker <dalias@aerifal.cx>
|
||||||
|
Date: Tue, 16 Feb 2016 13:26:16 -0500
|
||||||
|
Subject: [PATCH] fix assumption in fputs that fwrite returning 0 implies an
|
||||||
|
error
|
||||||
|
|
||||||
|
internally, the idiom of passing nmemb=1 to fwrite and interpreting
|
||||||
|
the return value of fwrite (which is necessarily 0 or 1) as
|
||||||
|
failure/success is fairly widely used. this is not correct, however,
|
||||||
|
when the size argument is unknown and may be zero, since C requires
|
||||||
|
fwrite to return 0 in that special case. previously fwrite always
|
||||||
|
returned nmemb on success, but this was changed for conformance with
|
||||||
|
ISO C by commit 500c6886c654fd45e4926990fee2c61d816be197.
|
||||||
|
---
|
||||||
|
src/stdio/fputs.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/stdio/fputs.c b/src/stdio/fputs.c
|
||||||
|
index 4737f44..1cf344f 100644
|
||||||
|
--- src/stdio/fputs.c
|
||||||
|
+++ src/stdio/fputs.c
|
||||||
|
@@ -3,7 +3,8 @@
|
||||||
|
|
||||||
|
int fputs(const char *restrict s, FILE *restrict f)
|
||||||
|
{
|
||||||
|
- return (int)fwrite(s, strlen(s), 1, f) - 1;
|
||||||
|
+ size_t l = strlen(s);
|
||||||
|
+ return (fwrite(s, 1, l, f)==l) - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
weak_alias(fputs, fputs_unlocked);
|
||||||
|
--
|
||||||
|
1.8.1.rc1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'musl'.
|
# Template file for 'musl'.
|
||||||
pkgname=musl
|
pkgname=musl
|
||||||
version=1.1.13
|
version=1.1.13
|
||||||
revision=1
|
revision=2
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--prefix=/usr --disable-gcc-wrapper"
|
configure_args="--prefix=/usr --disable-gcc-wrapper"
|
||||||
conflicts="glibc>=0"
|
conflicts="glibc>=0"
|
||||||
|
|
Loading…
Reference in a new issue