X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=common%2Fcommon.c;h=363ffe2da5725e031954edc75f8c0d3928640ae2;hb=2f5a009b5615db990687d0775038fdc82bbe8071;hp=96532e2bd8bfe0c3a33ca556b2cef3006be1528e;hpb=62128320f132f643c5d43fce0220531143614180;p=babeltrace.git diff --git a/common/common.c b/common/common.c index 96532e2b..363ffe2d 100644 --- a/common/common.c +++ b/common/common.c @@ -22,6 +22,9 @@ * SOFTWARE. */ +#define BT_LOG_TAG "COMMON" +#include "logging.h" + #include #include #include @@ -110,8 +113,8 @@ static char *bt_secure_getenv(const char *name) { if (bt_common_is_setuid_setgid()) { - printf_error("Disregarding %s environment variable for setuid/setgid binary", - name); + BT_LOGD("Disregarding environment variable for setuid/setgid binary: " + "name=\"%s\"", name); return NULL; } return getenv(name); @@ -150,15 +153,18 @@ char *bt_common_get_home_plugin_path(void) { char *path = NULL; const char *home_dir; + size_t length; home_dir = bt_get_home_dir(); if (!home_dir) { goto end; } - if (strlen(home_dir) + strlen(HOME_PLUGIN_SUBPATH) + 1 >= PATH_MAX) { - printf_error("Home directory path is too long: `%s`\n", - home_dir); + length = strlen(home_dir) + strlen(HOME_PLUGIN_SUBPATH) + 1; + + if (length >= PATH_MAX) { + BT_LOGW("Home directory path is too long: length=%zu", + length); goto end; } @@ -195,19 +201,19 @@ int bt_common_append_plugin_path_dirs(const char *paths, GPtrArray *dirs) while (at < end) { GString *path; - const char *next_colon; + const char *next_sep; - next_colon = strchr(at, ':'); - if (next_colon == at) { + next_sep = strchr(at, G_SEARCHPATH_SEPARATOR); + if (next_sep == at) { /* * Empty path: try next character (supported * to conform to the typical parsing of $PATH). */ at++; continue; - } else if (!next_colon) { - /* No more colon: use the remaining */ - next_colon = paths + strlen(paths); + } else if (!next_sep) { + /* No more separator: use the remaining */ + next_sep = paths + strlen(paths); } path = g_string_new(NULL); @@ -215,8 +221,8 @@ int bt_common_append_plugin_path_dirs(const char *paths, GPtrArray *dirs) goto error; } - g_string_append_len(path, at, next_colon - at); - at = next_colon + 1; + g_string_append_len(path, at, next_sep - at); + at = next_sep + 1; g_ptr_array_add(dirs, path); } @@ -1163,7 +1169,8 @@ size_t bt_common_get_page_size(void) page_size = bt_sysconf(_SC_PAGESIZE); if (page_size < 0) { - printf_error("Cannot get system page size."); + BT_LOGF("Cannot get system's page size: ret=%d", + page_size); abort(); }