From ee389f014f52d42ba945428973d9bcfc368922b3 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Fri, 9 Sep 2016 21:08:13 +0000 Subject: [PATCH] Port: replace strerror_r() with glib g_strerror() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Michael Jeanson Signed-off-by: Jérémie Galarneau --- include/babeltrace/babeltrace-internal.h | 12 +++++----- include/babeltrace/compat/string-internal.h | 26 --------------------- lib/ctf-ir/attributes.c | 1 + lib/ctf-ir/clock-class.c | 1 + 4 files changed, 8 insertions(+), 32 deletions(-) diff --git a/include/babeltrace/babeltrace-internal.h b/include/babeltrace/babeltrace-internal.h index 1a438ded..006bf8f3 100644 --- a/include/babeltrace/babeltrace-internal.h +++ b/include/babeltrace/babeltrace-internal.h @@ -86,16 +86,16 @@ extern bt_bool babeltrace_verbose, babeltrace_debug; #define _bt_printf_perror(fp, fmt, args...) \ ({ \ - char buf[PERROR_BUFLEN] = "Error in strerror_r()"; \ - bt_strerror_r(errno, buf, sizeof(buf)); \ - _bt_printfe(fp, "error", buf, fmt, ## args); \ + const char *errstr; \ + errstr = g_strerror(errno); \ + _bt_printfe(fp, "error", errstr, fmt, ## args); \ }) #define _bt_printfl_perror(fp, lineno, fmt, args...) \ ({ \ - char buf[PERROR_BUFLEN] = "Error in strerror_r()"; \ - bt_strerror_r(errno, buf, sizeof(buf)); \ - _bt_printfle(fp, "error", lineno, buf, fmt, ## args); \ + const char *errstr; \ + errstr = g_strerror(errno); \ + _bt_printfle(fp, "error", lineno, errstr, fmt, ## args);\ }) /* printf without lineno information */ diff --git a/include/babeltrace/compat/string-internal.h b/include/babeltrace/compat/string-internal.h index 2aa7bc3c..c3325a3b 100644 --- a/include/babeltrace/compat/string-internal.h +++ b/include/babeltrace/compat/string-internal.h @@ -26,32 +26,6 @@ #include #include -#if !defined(__GLIBC__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE)) - -/* XSI-compliant strerror_r */ -static inline -int bt_strerror_r(int errnum, char *buf, size_t buflen) -{ - return strerror_r(errnum, buf, buflen); -} - -#else - -/* GNU-compliant strerror_r */ -static inline -int bt_strerror_r(int errnum, char *buf, size_t buflen) -{ - char *retbuf; - - retbuf = strerror_r(errnum, buf, buflen); - if (retbuf != buf) - strncpy(buf, retbuf, buflen); - buf[buflen - 1] = '\0'; - return 0; -} - -#endif - #ifdef HAVE_STRNLEN static inline size_t bt_strnlen(const char *str, size_t max) diff --git a/lib/ctf-ir/attributes.c b/lib/ctf-ir/attributes.c index f7e03a86..ac979724 100644 --- a/lib/ctf-ir/attributes.c +++ b/lib/ctf-ir/attributes.c @@ -32,6 +32,7 @@ #include #include #include +#include #define BT_CTF_ATTR_NAME_INDEX 0 #define BT_CTF_ATTR_VALUE_INDEX 1 diff --git a/lib/ctf-ir/clock-class.c b/lib/ctf-ir/clock-class.c index d9880716..7390c663 100644 --- a/lib/ctf-ir/clock-class.c +++ b/lib/ctf-ir/clock-class.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include -- 2.34.1