[Qemu-devel] [PULL 55/65] slirp: introduce SLIRP_DEBUG environment variable
From: Marc-André Lureau Learn to read SLIRP_DEBUG=call,misc,error (all or help also handled) to set the slirp_debug flags. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/misc.c | 8 slirp/slirp.c | 15 +++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/slirp/misc.c b/slirp/misc.c index e30d2ceb2a..a0f104be5e 100644 --- a/slirp/misc.c +++ b/slirp/misc.c @@ -11,14 +11,6 @@ #include "qemu/error-report.h" #include "qemu/main-loop.h" -#ifdef DEBUG -#define SLIRP_DEBUG (DBG_CALL | DBG_MISC | DBG_ERROR) -#else -#define SLIRP_DEBUG 0 -#endif - -int slirp_debug = SLIRP_DEBUG; - inline void insque(void *a, void *b) { diff --git a/slirp/slirp.c b/slirp/slirp.c index ce5f571d0f..0b70cb9fb6 100644 --- a/slirp/slirp.c +++ b/slirp/slirp.c @@ -35,6 +35,8 @@ #include #endif +int slirp_debug; + /* Define to 1 if you want KEEPALIVE timers */ bool slirp_do_keepalive; @@ -250,6 +252,7 @@ int get_dns6_addr(struct in6_addr *pdns6_addr, uint32_t *scope_id) static void slirp_init_once(void) { static int initialized; +const char *debug; #ifdef _WIN32 WSADATA Data; #endif @@ -266,6 +269,18 @@ static void slirp_init_once(void) loopback_addr.s_addr = htonl(INADDR_LOOPBACK); loopback_mask = htonl(IN_CLASSA_NET); + +debug = g_getenv("SLIRP_DEBUG"); +if (debug) { +const GDebugKey keys[] = { +{ "call", DBG_CALL }, +{ "misc", DBG_MISC }, +{ "error", DBG_ERROR }, +}; +slirp_debug = g_parse_debug_string(debug, keys, G_N_ELEMENTS(keys)); +} + + } static void slirp_state_save(QEMUFile *f, void *opaque); -- 2.20.1
[Qemu-devel] [PULL 55/65] slirp: introduce SLIRP_DEBUG environment variable
From: Marc-André Lureau Learn to read SLIRP_DEBUG=call,misc,error (all or help also handled) to set the slirp_debug flags. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/misc.c | 8 slirp/slirp.c | 15 +++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/slirp/misc.c b/slirp/misc.c index e30d2ceb2a..a0f104be5e 100644 --- a/slirp/misc.c +++ b/slirp/misc.c @@ -11,14 +11,6 @@ #include "qemu/error-report.h" #include "qemu/main-loop.h" -#ifdef DEBUG -#define SLIRP_DEBUG (DBG_CALL | DBG_MISC | DBG_ERROR) -#else -#define SLIRP_DEBUG 0 -#endif - -int slirp_debug = SLIRP_DEBUG; - inline void insque(void *a, void *b) { diff --git a/slirp/slirp.c b/slirp/slirp.c index ce5f571d0f..0b70cb9fb6 100644 --- a/slirp/slirp.c +++ b/slirp/slirp.c @@ -35,6 +35,8 @@ #include #endif +int slirp_debug; + /* Define to 1 if you want KEEPALIVE timers */ bool slirp_do_keepalive; @@ -250,6 +252,7 @@ int get_dns6_addr(struct in6_addr *pdns6_addr, uint32_t *scope_id) static void slirp_init_once(void) { static int initialized; +const char *debug; #ifdef _WIN32 WSADATA Data; #endif @@ -266,6 +269,18 @@ static void slirp_init_once(void) loopback_addr.s_addr = htonl(INADDR_LOOPBACK); loopback_mask = htonl(IN_CLASSA_NET); + +debug = g_getenv("SLIRP_DEBUG"); +if (debug) { +const GDebugKey keys[] = { +{ "call", DBG_CALL }, +{ "misc", DBG_MISC }, +{ "error", DBG_ERROR }, +}; +slirp_debug = g_parse_debug_string(debug, keys, G_N_ELEMENTS(keys)); +} + + } static void slirp_state_save(QEMUFile *f, void *opaque); -- 2.20.1