Skip to contentSkip to conversation

tools lib traceevent: Use str_error_r()

tip:perf/core tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Jul 13, 2016

lore
Share & tools
lore
#0 lore raw
Commit-ID:  c3cec9e68f12d0046f991378391172958b5315d9
Gitweb:     http://git.kernel.org/tip/c3cec9e68f12d0046f991378391172958b5315d9
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Fri, 8 Jul 2016 15:21:37 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Tue, 12 Jul 2016 15:20:28 -0300

tools lib traceevent: Use str_error_r()

To make it portable to non-glibc systems, that follow the XSI variant instead of the GNU specific one that gets in place when _GNU_SOURCE is defined.

---
 tools/lib/traceevent/event-parse.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
tools/lib/traceevent/event-parse.c +2 -6
index a8b6357..3a7bd17 100644
@@ -31,6 +31,7 @@
 #include <errno.h>
 #include <stdint.h>
 #include <limits.h>
+#include <linux/string.h>
 
 #include <netinet/ip6.h>
 #include "event-parse.h"
@@ -6131,12 +6132,7 @@ int pevent_strerror(struct pevent *pevent __maybe_unused,
 	const char *msg;
 
 	if (errnum >= 0) {
-		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';
-		}
+		str_error_r(errnum, buf, buflen);
 		return 0;
 	}