]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
include/debug: introduce __UL_INIT_DEBUG_FROM_STRING()
authorKarel Zak <kzak@redhat.com>
Wed, 17 Jan 2018 12:58:29 +0000 (13:58 +0100)
committerKarel Zak <kzak@redhat.com>
Wed, 17 Jan 2018 12:58:29 +0000 (13:58 +0100)
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>
15 files changed:
disk-utils/cfdisk.c
disk-utils/fdisk.c
disk-utils/sfdisk.c
include/debug.h
lib/colors.c
lib/loopdev.c
libblkid/src/init.c
libfdisk/src/init.c
libmount/src/init.c
libsmartcols/src/init.c
login-utils/su-common.c
misc-utils/lsblk.c
misc-utils/whereis.c
sys-utils/lsns.c
term-utils/script.c

index 286f88abb53dddf0cf28664755b240e7242ff767..806bff8370eacd926668d2cb5d0699c432e88fa0 100644 (file)
@@ -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
index 226f0706516719f969d5e5e9aaa9442d9c6c588c..95bc83696814e3419c7223c25de890c644a8dce6 100644 (file)
@@ -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)))
index 5a992342abb9d626bdbc659396770ee7d21c65b9..9f031126f73bc88102ae6f782634cadc1af5ea4d 100644 (file)
@@ -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);
 }
 
 
index ff51e04d9dfe5fa4aaa4861562c390d5f969d107..39c21d563eec79d3faebc198bec1d82b6c30d98b 100644 (file)
@@ -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)
 {
index f82496d7a12a3e06460d3742655ccd5efcc4cf4e..6ee81ccbb20702ac17e7b743d83a1a85e2822187 100644 (file)
@@ -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)
index 7274f8480e2b0614dd7e0d59e97bbbd910c781d8..e37b29213872e5b863f7d92209c4b5a88bd76999 100644 (file)
@@ -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);
 }
 
 /*
index a73b7fd079d4636bd6e1c5559f816f7b8cec9c26..6dc9ffd564d9d73e7d56c5c6fb16c7818f5a29a7 100644 (file)
@@ -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)) {
index 0275836bf172cff8a95f38a19b6629c5dd0d98c4..b25a876b3dbbdf1f275c897eb5b137d7d19ba6e7 100644 (file)
@@ -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
index c927fb7f6077ca788db58c3fef5e20c9096d390d..29be282d59699815d6fb51fc36678f63d3359e51 100644 (file)
@@ -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)) {
index 806b0e1a2ff1bb0e6f07a4bc79585d1c2e9389b7..104e43b640f30866096e96386ebbbbe5d0057187 100644 (file)
@@ -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)) {
index b1be7c6ef429f45e2845af4261c8a1b76bbe9093..32cdd1954ed7ebb6c697b00dfd8ff9c3a1a96997 100644 (file)
@@ -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)
index 9e9f3cf815e46090eac0a1ae7c7513ca036f2b28..6a16f650045f173de799495c69b9a660ffd50b85 100644 (file)
@@ -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)
index c6bf2fa4bdcffa6d8195d8113fe777b73fe59eb3..828106ffe79ed9b8f9a42d9a221084ce002d1d7f 100644 (file)
@@ -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)
index 4a39f66efa4ffc56f2cfec1f080923bfc8188e91..d36269df54b9d2fd6ed8aeef60bfeaf94c8b0867 100644 (file)
@@ -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)
index f991de14ec7588f213d0e38bd420a1b6b7ea07f0..d5ffa27f11b1ba2624f49ed0b683e9cb98290eab 100644 (file)
@@ -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);
 }
 
 /*