* SOFTWARE.
*/
+#define BT_LOG_TAG "COMMON"
+#include "logging.h"
+
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
return SYSTEM_PLUGIN_PATH;
}
+#ifdef __MINGW32__
+BT_HIDDEN
+bool bt_common_is_setuid_setgid(void)
+{
+ return false;
+}
+#else /* __MINGW32__ */
BT_HIDDEN
bool bt_common_is_setuid_setgid(void)
{
return (geteuid() != getuid() || getegid() != getgid());
}
+#endif /* __MINGW32__ */
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);
{
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;
}
static bool supports_colors = false;
static bool supports_colors_set = false;
const char *term;
+ const char *force;
if (supports_colors_set) {
goto end;
supports_colors_set = true;
+ force = getenv("BABELTRACE_FORCE_COLORS");
+ if (force && strcmp(force, "1") == 0) {
+ supports_colors = true;
+ goto end;
+ }
+
term = getenv("TERM");
if (!term) {
goto end;
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();
}