void-packages/srcpkgs/uftrace/patches/strerror.patch

34 lines
826 B
Diff

--- a/utils/debug.c
+++ b/utils/debug.c
@@ -120,7 +120,7 @@
vfprintf(logfp, fmt, ap);
va_end(ap);
- fprintf(logfp, ": %s\n", strerror_r(saved_errno, buf, sizeof(buf)));
+ fprintf(logfp, ": %s\n", strerror(saved_errno));
color(TERM_COLOR_RESET, logfp);
--- a/libtraceevent/event-parse.c 2017-12-05 06:11:38.000000000 +0100
+++ b/libtraceevent/event-parse.c 2017-12-06 21:02:42.135421115 +0100
@@ -5353,12 +5353,19 @@
const char *msg;
if (errnum >= 0) {
+#if defined(__GLIBC__)
msg = strerror_r(errnum, buf, buflen);
if (msg != buf) {
size_t len = strlen(msg);
memcpy(buf, msg, min(buflen - 1, len));
*(buf + min(buflen - 1, len)) = '\0';
}
+#else
+ int rc = strerror_r(errnum, buf, buflen);
+ if (rc < 0) {
+ snprintf(buf, buflen, "Error %d", errnum);
+ }
+#endif
return 0;
}