tools lib traceevent: Use str_error_r()
authorArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 8 Jul 2016 18:21:37 +0000 (15:21 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
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 <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-c1gn8x978qfop65m510wy43o@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/lib/traceevent/event-parse.c

index a8b6357..3a7bd17 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;
        }