From: Todd C. Miller Date: Wed, 22 Apr 2015 19:30:58 +0000 (-0600) Subject: Split variable declaration out of debug_decl into debug_decl_vars() X-Git-Tag: SUDO_1_8_14^2~159 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6f8af4d26d1f766644e43f48635eb097aa5713a5;p=sudo Split variable declaration out of debug_decl into debug_decl_vars() so we can use it in main() when we know sudo_debug_enter() cannot succeed. --- diff --git a/include/sudo_debug.h b/include/sudo_debug.h index e5441eb33..c48888d79 100644 --- a/include/sudo_debug.h +++ b/include/sudo_debug.h @@ -108,15 +108,16 @@ struct sudo_conf_debug_file_list; * and sets sudo_debug_subsys for sudo_debug_exit(). */ #ifdef HAVE___FUNC__ -# define debug_decl(funcname, subsys) \ - const int sudo_debug_subsys = (subsys); \ - sudo_debug_enter(__func__, __FILE__, __LINE__, sudo_debug_subsys); +# define debug_decl_vars(funcname, subsys) \ + const int sudo_debug_subsys = (subsys); #else -# define debug_decl(funcname, subsys) \ +# define debug_decl_vars(funcname, subsys) \ const int sudo_debug_subsys = (subsys); \ - const char __func__[] = #funcname; \ - sudo_debug_enter(__func__, __FILE__, __LINE__, sudo_debug_subsys); + const char __func__[] = #funcname; #endif +#define debug_decl(funcname, subsys) \ + debug_decl_vars((funcname), (subsys)) \ + sudo_debug_enter(__func__, __FILE__, __LINE__, sudo_debug_subsys); /* * Wrappers for sudo_debug_exit() and friends. diff --git a/src/sudo.c b/src/sudo.c index ada1805df..ba92d36a8 100644 --- a/src/sudo.c +++ b/src/sudo.c @@ -152,7 +152,7 @@ main(int argc, char *argv[], char *envp[]) struct sudo_settings *settings; struct plugin_container *plugin, *next; sigset_t mask; - debug_decl(main, SUDO_DEBUG_MAIN) + debug_decl_vars(main, SUDO_DEBUG_MAIN) /* Make sure fds 0-2 are open and do OS-specific initialization. */ fix_fds();