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().
|
* and sets sudo_debug_subsys for sudo_debug_exit().
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE___FUNC__
|
#ifdef HAVE___FUNC__
|
||||||
# define debug_decl(funcname, subsys) \
|
# define debug_decl_vars(funcname, subsys) \
|
||||||
const int sudo_debug_subsys = (subsys); \
|
const int sudo_debug_subsys = (subsys);
|
||||||
sudo_debug_enter(__func__, __FILE__, __LINE__, sudo_debug_subsys);
|
|
||||||
#else
|
#else
|
||||||
# define debug_decl(funcname, subsys) \
|
# define debug_decl_vars(funcname, subsys) \
|
||||||
const int sudo_debug_subsys = (subsys); \
|
const int sudo_debug_subsys = (subsys); \
|
||||||
const char __func__[] = #funcname; \
|
const char __func__[] = #funcname;
|
||||||
sudo_debug_enter(__func__, __FILE__, __LINE__, sudo_debug_subsys);
|
|
||||||
#endif
|
#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.
|
* Wrappers for sudo_debug_exit() and friends.
|
||||||
|
@@ -152,7 +152,7 @@ main(int argc, char *argv[], char *envp[])
|
|||||||
struct sudo_settings *settings;
|
struct sudo_settings *settings;
|
||||||
struct plugin_container *plugin, *next;
|
struct plugin_container *plugin, *next;
|
||||||
sigset_t mask;
|
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. */
|
/* Make sure fds 0-2 are open and do OS-specific initialization. */
|
||||||
fix_fds();
|
fix_fds();
|
||||||
|
Reference in New Issue
Block a user