]> granicus.if.org Git - sudo/commitdiff
Split variable declaration out of debug_decl into debug_decl_vars()
authorTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 22 Apr 2015 19:30:58 +0000 (13:30 -0600)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 22 Apr 2015 19:30:58 +0000 (13:30 -0600)
so we can use it in main() when we know sudo_debug_enter() cannot
succeed.

include/sudo_debug.h
src/sudo.c

index e5441eb33eaf5a00a5bfa37d8ef5f3b8caef369a..c48888d7995f262b04c92e1364a02e012d3bd433 100644 (file)
@@ -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.
index ada1805df78eb1746e15ed3e834bfe4891ebe43a..ba92d36a869d09d063518d872755b2a7b5df6d05 100644 (file)
@@ -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();