diff options
Diffstat (limited to 'sys-auth/elogind/files/elogind-241.2-unbreak-musl.patch')
-rw-r--r-- | sys-auth/elogind/files/elogind-241.2-unbreak-musl.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/sys-auth/elogind/files/elogind-241.2-unbreak-musl.patch b/sys-auth/elogind/files/elogind-241.2-unbreak-musl.patch new file mode 100644 index 000000000000..3688402d2e09 --- /dev/null +++ b/sys-auth/elogind/files/elogind-241.2-unbreak-musl.patch @@ -0,0 +1,41 @@ +From cac266581e2bc3595be60171910db6274c3bf944 Mon Sep 17 00:00:00 2001 +From: Sven Eden <sven.eden@prydeworx.com> +Date: Thu, 18 Apr 2019 19:25:55 +0200 +Subject: [PATCH] src/basic/filio.c: Do not disable file buffers on non-glibc + [#130] + +When opening an existing file with open() and then turning is into +a FILE* with fdopen(), a following fputs() returns EOF and sets errno +to EINVAL on musl-libc based systems when setvbuf() was used to turn +off the file buffer. + +To remedy this return to the old behavior until v239 and never +diesable the file buffer in such cases when not on a glibc based +system. + +Bug: #130 +Closes: #130 +Signed-off-by: Sven Eden <sven.eden@prydeworx.com> +--- + src/basic/fileio.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/basic/fileio.c b/src/basic/fileio.c +index e981cd024..eaad5ccf0 100644 +--- a/src/basic/fileio.c ++++ b/src/basic/fileio.c +@@ -162,6 +162,11 @@ int write_string_file_ts( + safe_close(fd); + goto fail; + } ++ ++#ifndef __GLIBC__ /// elogind must not disable buffers on musl-libc based systems when going this route ++ if (flags & WRITE_STRING_FILE_DISABLE_BUFFER) ++ flags ^= WRITE_STRING_FILE_DISABLE_BUFFER; ++#endif // __GLIBC__ + } + + (void) __fsetlocking(f, FSETLOCKING_BYCALLER); +-- +2.21.0 + |