libfdisk: clean up debug, add help debug mask

Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2014-11-03 13:13:32 +01:00
parent 2deb7cc347
commit 4dcea32061
2 changed files with 37 additions and 25 deletions

View File

@ -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 {

View File

@ -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)));
}