diff --git a/libfdisk/src/fdiskP.h b/libfdisk/src/fdiskP.h index 759abf3c4..a655ecf59 100644 --- a/libfdisk/src/fdiskP.h +++ b/libfdisk/src/fdiskP.h @@ -37,21 +37,21 @@ /* * Debug */ -#define FDISK_DEBUG_INIT (1 << 1) -#define FDISK_DEBUG_CXT (1 << 2) -#define FDISK_DEBUG_LABEL (1 << 3) -#define FDISK_DEBUG_ASK (1 << 4) -#define FDISK_DEBUG_FRONTEND (1 << 5) -#define FDISK_DEBUG_PART (1 << 6) -#define FDISK_DEBUG_PARTTYPE (1 << 7) -#define FDISK_DEBUG_TAB (1 << 8) -#define FDISK_DEBUG_SCRIPT (1 << 9) -#define FDISK_DEBUG_ALL 0xFFFF +#define LIBFDISK_DEBUG_HELP (1 << 0) +#define LIBFDISK_DEBUG_INIT (1 << 1) +#define LIBFDISK_DEBUG_CXT (1 << 2) +#define LIBFDISK_DEBUG_LABEL (1 << 3) +#define LIBFDISK_DEBUG_ASK (1 << 4) +#define LIBFDISK_DEBUG_PART (1 << 6) +#define LIBFDISK_DEBUG_PARTTYPE (1 << 7) +#define LIBFDISK_DEBUG_TAB (1 << 8) +#define LIBFDISK_DEBUG_SCRIPT (1 << 9) +#define LIBFDISK_DEBUG_ALL 0xFFFF UL_DEBUG_DECLARE_MASK(libfdisk); -#define DBG(m, x) __UL_DBG(libfdisk, FDISK_DEBUG_, m, x) -#define ON_DBG(m, x) __UL_DBG_CALL(libfdisk, FDISK_DEBUG_, m, x) -#define DBG_FLUSH __UL_DBG_FLUSH(libfdisk, FDISK_DEBUG_) +#define DBG(m, x) __UL_DBG(libfdisk, LIBFDISK_DEBUG_, m, x) +#define ON_DBG(m, x) __UL_DBG_CALL(libfdisk, LIBFDISK_DEBUG_, m, x) +#define DBG_FLUSH __UL_DBG_FLUSH(libfdisk, LIBFDISK_DEBUG_) #ifdef TEST_PROGRAM struct fdisk_test { diff --git a/libfdisk/src/init.c b/libfdisk/src/init.c index 1c5008073..e147a17aa 100644 --- a/libfdisk/src/init.c +++ b/libfdisk/src/init.c @@ -4,16 +4,15 @@ UL_DEBUG_DEFINE_MASK(libfdisk); UL_DEBUG_DEFINE_MASKNAMES(libfdisk) = { - { "all", FDISK_DEBUG_ALL }, - { "ask", FDISK_DEBUG_ASK}, - { "cxt", FDISK_DEBUG_CXT }, - { "frontend", FDISK_DEBUG_FRONTEND }, - { "init", FDISK_DEBUG_INIT }, - { "label", FDISK_DEBUG_LABEL }, - { "part", FDISK_DEBUG_PART }, - { "parttype", FDISK_DEBUG_PARTTYPE }, - { "script", FDISK_DEBUG_SCRIPT}, - { "tab", FDISK_DEBUG_TAB}, + { "all", LIBFDISK_DEBUG_ALL, "info about all subsystems" }, + { "ask", LIBFDISK_DEBUG_ASK, "fdisk dialogs" }, + { "help", LIBFDISK_DEBUG_HELP, "this help" }, + { "cxt", LIBFDISK_DEBUG_CXT, "library context (handler)" }, + { "label", LIBFDISK_DEBUG_LABEL, "disk label utils" }, + { "part", LIBFDISK_DEBUG_PART, "partition utils" }, + { "parttype", LIBFDISK_DEBUG_PARTTYPE,"partition type utils" }, + { "script", LIBFDISK_DEBUG_SCRIPT, "sfdisk-like scripts" }, + { "tab", LIBFDISK_DEBUG_TAB, "table utils"}, { NULL, 0 } }; /** @@ -21,12 +20,25 @@ UL_DEBUG_DEFINE_MASKNAMES(libfdisk) = * @mask: debug mask (0xffff to enable full debuging) * * If the @mask is not specified then this function reads - * FDISK_DEBUG environment variable to get the mask. + * LIBFDISK_DEBUG environment variable to get the mask. * * Already initialized debugging stuff cannot be changed. It does not * have effect to call this function twice. */ void fdisk_init_debug(int mask) { - __UL_INIT_DEBUG(libfdisk, FDISK_DEBUG_, mask, LIBFDISK_DEBUG); + if (libfdisk_debug_mask) + return; + + __UL_INIT_DEBUG(libfdisk, LIBFDISK_DEBUG_, mask, LIBFDISK_DEBUG); + + + if (libfdisk_debug_mask != LIBFDISK_DEBUG_INIT + && libfdisk_debug_mask != (LIBFDISK_DEBUG_HELP|LIBFDISK_DEBUG_INIT)) { + + DBG(INIT, ul_debug("library debug mask: 0x%04x", libfdisk_debug_mask)); + } + + ON_DBG(HELP, ul_debug_print_masks("LIBFDISK_DEBUG", + UL_DEBUG_MASKNAMES(libfdisk))); }