summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak2018-01-17 13:58:29 +0100
committerKarel Zak2018-01-17 13:58:29 +0100
commita15dca2f6d0693546138a6a727f019dd8019dee8 (patch)
tree4ca90e704fea0743180867f7ab7f0592672f8562
parenthwclock: rename --debug option to --verbose (diff)
downloadkernel-qcow2-util-linux-a15dca2f6d0693546138a6a727f019dd8019dee8.tar.gz
kernel-qcow2-util-linux-a15dca2f6d0693546138a6a727f019dd8019dee8.tar.xz
kernel-qcow2-util-linux-a15dca2f6d0693546138a6a727f019dd8019dee8.zip
include/debug: introduce __UL_INIT_DEBUG_FROM_STRING()
Let's make it possible to use debug.h without environment variables. Suggested-by: J William Piggott <elseifthen@gmx.com> Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r--disk-utils/cfdisk.c2
-rw-r--r--disk-utils/fdisk.c2
-rw-r--r--disk-utils/sfdisk.c2
-rw-r--r--include/debug.h19
-rw-r--r--lib/colors.c2
-rw-r--r--lib/loopdev.c2
-rw-r--r--libblkid/src/init.c2
-rw-r--r--libfdisk/src/init.c2
-rw-r--r--libmount/src/init.c2
-rw-r--r--libsmartcols/src/init.c2
-rw-r--r--login-utils/su-common.c2
-rw-r--r--misc-utils/lsblk.c2
-rw-r--r--misc-utils/whereis.c2
-rw-r--r--sys-utils/lsns.c2
-rw-r--r--term-utils/script.c2
15 files changed, 26 insertions, 21 deletions
diff --git a/disk-utils/cfdisk.c b/disk-utils/cfdisk.c
index 286f88abb..806bff837 100644
--- a/disk-utils/cfdisk.c
+++ b/disk-utils/cfdisk.c
@@ -264,7 +264,7 @@ UL_DEBUG_DEFINE_MASKNAMES(cfdisk) = UL_DEBUG_EMPTY_MASKNAMES;
static void cfdisk_init_debug(void)
{
- __UL_INIT_DEBUG(cfdisk, CFDISK_DEBUG_, 0, CFDISK_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(cfdisk, CFDISK_DEBUG_, 0, CFDISK_DEBUG);
}
/* Initialize output columns -- we follow libfdisk fields (usually specific
diff --git a/disk-utils/fdisk.c b/disk-utils/fdisk.c
index 226f07065..95bc83696 100644
--- a/disk-utils/fdisk.c
+++ b/disk-utils/fdisk.c
@@ -68,7 +68,7 @@ UL_DEBUG_DEFINE_MASKNAMES(fdisk) = UL_DEBUG_EMPTY_MASKNAMES;
static void fdiskprog_init_debug(void)
{
- __UL_INIT_DEBUG(fdisk, FDISKPROG_DEBUG_, 0, FDISK_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(fdisk, FDISKPROG_DEBUG_, 0, FDISK_DEBUG);
}
static void reply_sighandler(int sig __attribute__((unused)))
diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
index 5a992342a..9f031126f 100644
--- a/disk-utils/sfdisk.c
+++ b/disk-utils/sfdisk.c
@@ -119,7 +119,7 @@ struct sfdisk {
static void sfdiskprog_init_debug(void)
{
- __UL_INIT_DEBUG(sfdisk, SFDISKPROG_DEBUG_, 0, SFDISK_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(sfdisk, SFDISKPROG_DEBUG_, 0, SFDISK_DEBUG);
}
diff --git a/include/debug.h b/include/debug.h
index ff51e04d9..39c21d563 100644
--- a/include/debug.h
+++ b/include/debug.h
@@ -83,15 +83,12 @@ struct ul_debug_maskname {
} \
} while (0)
-
-#define __UL_INIT_DEBUG(lib, pref, mask, env) \
+#define __UL_INIT_DEBUG_FROM_STRING(lib, pref, mask, str) \
do { \
if (lib ## _debug_mask & pref ## INIT) \
; \
- else if (!mask) { \
- char *str = getenv(# env); \
- if (str) \
- lib ## _debug_mask = ul_debug_parse_envmask(lib ## _masknames, str); \
+ else if (!mask && str) { \
+ lib ## _debug_mask = ul_debug_parse_mask(lib ## _masknames, str); \
} else \
lib ## _debug_mask = mask; \
if (lib ## _debug_mask) { \
@@ -104,6 +101,14 @@ struct ul_debug_maskname {
} while (0)
+#define __UL_INIT_DEBUG_FROM_ENV(lib, pref, mask, env) \
+ do { \
+ const char *envstr = mask ? NULL : getenv(# env); \
+ __UL_INIT_DEBUG_FROM_STRING(lib, pref, mask, envstr); \
+ } while (0)
+
+
+
static inline void __attribute__ ((__format__ (__printf__, 1, 2)))
ul_debug(const char *mesg, ...)
{
@@ -114,7 +119,7 @@ ul_debug(const char *mesg, ...)
fputc('\n', stderr);
}
-static inline int ul_debug_parse_envmask(
+static inline int ul_debug_parse_mask(
const struct ul_debug_maskname flagnames[],
const char *mask)
{
diff --git a/lib/colors.c b/lib/colors.c
index f82496d7a..6ee81ccbb 100644
--- a/lib/colors.c
+++ b/lib/colors.c
@@ -646,7 +646,7 @@ done:
static void termcolors_init_debug(void)
{
- __UL_INIT_DEBUG(termcolors, TERMCOLORS_DEBUG_, 0, TERMINAL_COLORS_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(termcolors, TERMCOLORS_DEBUG_, 0, TERMINAL_COLORS_DEBUG);
}
static int colors_terminal_is_ready(void)
diff --git a/lib/loopdev.c b/lib/loopdev.c
index 7274f8480..e37b29213 100644
--- a/lib/loopdev.c
+++ b/lib/loopdev.c
@@ -64,7 +64,7 @@ static void loopdev_init_debug(void)
{
if (loopdev_debug_mask)
return;
- __UL_INIT_DEBUG(loopdev, LOOPDEV_DEBUG_, 0, LOOPDEV_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(loopdev, LOOPDEV_DEBUG_, 0, LOOPDEV_DEBUG);
}
/*
diff --git a/libblkid/src/init.c b/libblkid/src/init.c
index a73b7fd07..6dc9ffd56 100644
--- a/libblkid/src/init.c
+++ b/libblkid/src/init.c
@@ -50,7 +50,7 @@ void blkid_init_debug(int mask)
if (libblkid_debug_mask)
return;
- __UL_INIT_DEBUG(libblkid, BLKID_DEBUG_, mask, LIBBLKID_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(libblkid, BLKID_DEBUG_, mask, LIBBLKID_DEBUG);
if (libblkid_debug_mask != BLKID_DEBUG_INIT
&& libblkid_debug_mask != (BLKID_DEBUG_HELP|BLKID_DEBUG_INIT)) {
diff --git a/libfdisk/src/init.c b/libfdisk/src/init.c
index 0275836bf..b25a876b3 100644
--- a/libfdisk/src/init.c
+++ b/libfdisk/src/init.c
@@ -43,7 +43,7 @@ void fdisk_init_debug(int mask)
if (libfdisk_debug_mask)
return;
- __UL_INIT_DEBUG(libfdisk, LIBFDISK_DEBUG_, mask, LIBFDISK_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(libfdisk, LIBFDISK_DEBUG_, mask, LIBFDISK_DEBUG);
if (libfdisk_debug_mask != LIBFDISK_DEBUG_INIT
diff --git a/libmount/src/init.c b/libmount/src/init.c
index c927fb7f6..29be282d5 100644
--- a/libmount/src/init.c
+++ b/libmount/src/init.c
@@ -51,7 +51,7 @@ void mnt_init_debug(int mask)
if (libmount_debug_mask)
return;
- __UL_INIT_DEBUG(libmount, MNT_DEBUG_, mask, LIBMOUNT_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(libmount, MNT_DEBUG_, mask, LIBMOUNT_DEBUG);
if (libmount_debug_mask != MNT_DEBUG_INIT
&& libmount_debug_mask != (MNT_DEBUG_HELP|MNT_DEBUG_INIT)) {
diff --git a/libsmartcols/src/init.c b/libsmartcols/src/init.c
index 806b0e1a2..104e43b64 100644
--- a/libsmartcols/src/init.c
+++ b/libsmartcols/src/init.c
@@ -45,7 +45,7 @@ void scols_init_debug(int mask)
if (libsmartcols_debug_mask)
return;
- __UL_INIT_DEBUG(libsmartcols, SCOLS_DEBUG_, mask, LIBSMARTCOLS_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(libsmartcols, SCOLS_DEBUG_, mask, LIBSMARTCOLS_DEBUG);
if (libsmartcols_debug_mask != SCOLS_DEBUG_INIT
&& libsmartcols_debug_mask != (SCOLS_DEBUG_HELP|SCOLS_DEBUG_INIT)) {
diff --git a/login-utils/su-common.c b/login-utils/su-common.c
index b1be7c6ef..32cdd1954 100644
--- a/login-utils/su-common.c
+++ b/login-utils/su-common.c
@@ -172,7 +172,7 @@ su_catch_sig(int sig)
static void su_init_debug(void)
{
- __UL_INIT_DEBUG(su, SU_DEBUG_, 0, SU_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(su, SU_DEBUG_, 0, SU_DEBUG);
}
static void init_tty(struct su_context *su)
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
index 9e9f3cf81..6a16f6500 100644
--- a/misc-utils/lsblk.c
+++ b/misc-utils/lsblk.c
@@ -301,7 +301,7 @@ struct blkdev_cxt {
static void lsblk_init_debug(void)
{
- __UL_INIT_DEBUG(lsblk, LSBLK_DEBUG_, 0, LSBLK_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(lsblk, LSBLK_DEBUG_, 0, LSBLK_DEBUG);
}
static int is_maj_excluded(int maj)
diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c
index c6bf2fa4b..828106ffe 100644
--- a/misc-utils/whereis.c
+++ b/misc-utils/whereis.c
@@ -178,7 +178,7 @@ static const char *srcdirs[] = {
static void whereis_init_debug(void)
{
- __UL_INIT_DEBUG(whereis, WHEREIS_DEBUG_, 0, WHEREIS_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(whereis, WHEREIS_DEBUG_, 0, WHEREIS_DEBUG);
}
static const char *whereis_type_to_name(int type)
diff --git a/sys-utils/lsns.c b/sys-utils/lsns.c
index 4a39f66ef..d36269df5 100644
--- a/sys-utils/lsns.c
+++ b/sys-utils/lsns.c
@@ -194,7 +194,7 @@ static int netlink_fd = -1;
static void lsns_init_debug(void)
{
- __UL_INIT_DEBUG(lsns, LSNS_DEBUG_, 0, LSNS_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(lsns, LSNS_DEBUG_, 0, LSNS_DEBUG);
}
static int ns_name2type(const char *name)
diff --git a/term-utils/script.c b/term-utils/script.c
index f991de14e..d5ffa27f1 100644
--- a/term-utils/script.c
+++ b/term-utils/script.c
@@ -132,7 +132,7 @@ struct script_control {
static void script_init_debug(void)
{
- __UL_INIT_DEBUG(script, SCRIPT_DEBUG_, 0, SCRIPT_DEBUG);
+ __UL_INIT_DEBUG_FROM_ENV(script, SCRIPT_DEBUG_, 0, SCRIPT_DEBUG);
}
/*