diff options
author | Herb Lewis <herb@samba.org> | 2002-02-19 19:56:04 +0000 |
---|---|---|
committer | Herb Lewis <herb@samba.org> | 2002-02-19 19:56:04 +0000 |
commit | e5d29514364f5b1772791d30ceb6c8c17d2c1232 (patch) | |
tree | 984c0c51c6e497f549f6bfc29ac6f8d63801a467 | |
parent | 16806d749fb0b0a39eb871e764ff439c8944f150 (diff) | |
download | samba-e5d29514364f5b1772791d30ceb6c8c17d2c1232.tar.gz samba-e5d29514364f5b1772791d30ceb6c8c17d2c1232.tar.xz samba-e5d29514364f5b1772791d30ceb6c8c17d2c1232.zip |
this is a hack to get testparm to print the correct value for log level
-rw-r--r-- | source/lib/debug.c | 25 | ||||
-rw-r--r-- | source/utils/testparm.c | 2 |
2 files changed, 17 insertions, 10 deletions
diff --git a/source/lib/debug.c b/source/lib/debug.c index 6c61d45d224..3731b3656fa 100644 --- a/source/lib/debug.c +++ b/source/lib/debug.c @@ -86,7 +86,7 @@ BOOL append_log = False; int DEBUGLEVEL_CLASS[DBGC_LAST]; int DEBUGLEVEL = DEBUGLEVEL_CLASS; BOOL AllowDebugChange = True; - +int parsed_debuglevel_class[DBGC_LAST]; /* -------------------------------------------------------------------------- ** * Internal variables. @@ -214,12 +214,6 @@ BOOL debug_parse_levels(char *params_str) char *params[DBGC_LAST]; int debuglevel_class[DBGC_LAST]; - if (AllowDebugChange == False) { - DEBUG(1,("INFO: Debug class %s level = %d\n", - classname_table[DBGC_ALL], - DEBUGLEVEL_CLASS[DBGC_ALL])); - return True; - } ZERO_ARRAY(params); ZERO_ARRAY(debuglevel_class); @@ -232,8 +226,19 @@ BOOL debug_parse_levels(char *params_str) else return False; + if (AllowDebugChange == False) { + int old_debuglevel_class[DBGC_LAST]; + + /* save current debug level */ + memcpy(old_debuglevel_class, DEBUGLEVEL_CLASS, sizeof(DEBUGLEVEL_CLASS)); + if (debug_parse_params(params, debuglevel_class)) + debug_message(0, getpid(), (void*)debuglevel_class, sizeof(debuglevel_class)); + memcpy(parsed_debuglevel_class, DEBUGLEVEL_CLASS, sizeof(DEBUGLEVEL_CLASS)); + memcpy(DEBUGLEVEL_CLASS, old_debuglevel_class, sizeof(old_debuglevel_class)); + return True; + } if (debug_parse_params(params, debuglevel_class)) { - debug_message(0, getpid(), (void*)debuglevel_class, sizeof(debuglevel_class)); + debug_message(DEBUGLEVEL, getpid(), (void*)debuglevel_class, sizeof(debuglevel_class)); return True; } else return False; @@ -242,14 +247,14 @@ BOOL debug_parse_levels(char *params_str) /**************************************************************************** receive a "set debug level" message ****************************************************************************/ -void debug_message(int msg_type, pid_t src, void *buf, size_t len) +void debug_message(int msg_level, pid_t src, void *buf, size_t len) { int i; /* Set the new DEBUGLEVEL_CLASS array from the pased array */ memcpy(DEBUGLEVEL_CLASS, buf, sizeof(DEBUGLEVEL_CLASS)); - DEBUG(1,("INFO: Debug class %s level = %d (pid %u from pid %u)\n", + DEBUG(msg_level,("INFO: Debug class %s level = %d (pid %u from pid %u)\n", classname_table[DBGC_ALL], DEBUGLEVEL_CLASS[DBGC_ALL], (unsigned int)getpid(), (unsigned int)src)); diff --git a/source/utils/testparm.c b/source/utils/testparm.c index 9502ec9669d..a433bb11e1d 100644 --- a/source/utils/testparm.c +++ b/source/utils/testparm.c @@ -36,6 +36,7 @@ #include "smb.h" extern BOOL AllowDebugChange; +extern int parsed_debuglevel_class[DBGC_LAST]; /* these live in util.c */ extern FILE *dbf; @@ -281,6 +282,7 @@ Level II oplocks can only be set if oplocks are also set.\n", fflush(stdout); getc(stdin); } + memcpy(DEBUGLEVEL_CLASS,parsed_debuglevel_class,sizeof(parsed_debuglevel_class)); lp_dump(stdout,True, lp_numservices(), _dos_to_unix); } |