Add debug_return_const_str and debug_return_const_ptr for returning

a const string or pointer.  Using const for the normal versions
produces warnings with the Tru64 compiler.
This commit is contained in:
Todd C. Miller
2013-11-17 16:11:39 -07:00
parent bf65cc041e
commit 6c71ad5c15
4 changed files with 25 additions and 9 deletions

View File

@@ -144,27 +144,43 @@
} while (0)
#define debug_return_str(rval) \
do { \
char *sudo_debug_rval = (rval); \
sudo_debug_exit_str(__func__, __FILE__, __LINE__, sudo_debug_subsys, \
sudo_debug_rval); \
return sudo_debug_rval; \
} while (0)
#define debug_return_const_str(rval) \
do { \
const char *sudo_debug_rval = (rval); \
sudo_debug_exit_str(__func__, __FILE__, __LINE__, sudo_debug_subsys, \
sudo_debug_rval); \
return (char *)sudo_debug_rval; \
return sudo_debug_rval; \
} while (0)
#define debug_return_str_masked(rval) \
#define debug_return_str_masked(rval) \
do { \
const char *sudo_debug_rval = (rval); \
char *sudo_debug_rval = (rval); \
sudo_debug_exit_str_masked(__func__, __FILE__, __LINE__, \
sudo_debug_subsys, sudo_debug_rval); \
return (char *)sudo_debug_rval; \
return sudo_debug_rval; \
} while (0)
#define debug_return_ptr(rval) \
do { \
void *sudo_debug_rval = (rval); \
sudo_debug_exit_ptr(__func__, __FILE__, __LINE__, sudo_debug_subsys, \
sudo_debug_rval); \
return sudo_debug_rval; \
} while (0)
#define debug_return_const_ptr(rval) \
do { \
const void *sudo_debug_rval = (rval); \
sudo_debug_exit_ptr(__func__, __FILE__, __LINE__, sudo_debug_subsys, \
sudo_debug_rval); \
return (void *)sudo_debug_rval; \
return sudo_debug_rval; \
} while (0)
/*