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.
This commit is contained in:
@@ -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.
|
||||
|
@@ -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();
|
||||
|
Reference in New Issue
Block a user