tools lib traceevent: Use str_error_r()
authorArnaldo Carvalho de Melo <[email protected]>
Fri, 8 Jul 2016 18:21:37 +0000 (15:21 -0300)
committerArnaldo Carvalho de Melo <[email protected]>
Tue, 12 Jul 2016 18:20:28 +0000 (15:20 -0300)
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.

Cc: Adrian Hunter <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Wang Nan <[email protected]>
Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
tools/lib/traceevent/event-parse.c

index a8b6357d1ffef8678d82b0ae357b445b9ba2cf71..3a7bd175f73c3716094217cac20bced98d52dcf6 100644 (file)
@@ -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;
        }