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:
@@ -144,27 +144,43 @@
|
|||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define debug_return_str(rval) \
|
#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 { \
|
do { \
|
||||||
const char *sudo_debug_rval = (rval); \
|
const char *sudo_debug_rval = (rval); \
|
||||||
sudo_debug_exit_str(__func__, __FILE__, __LINE__, sudo_debug_subsys, \
|
sudo_debug_exit_str(__func__, __FILE__, __LINE__, sudo_debug_subsys, \
|
||||||
sudo_debug_rval); \
|
sudo_debug_rval); \
|
||||||
return (char *)sudo_debug_rval; \
|
return sudo_debug_rval; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define debug_return_str_masked(rval) \
|
#define debug_return_str_masked(rval) \
|
||||||
do { \
|
do { \
|
||||||
const char *sudo_debug_rval = (rval); \
|
char *sudo_debug_rval = (rval); \
|
||||||
sudo_debug_exit_str_masked(__func__, __FILE__, __LINE__, \
|
sudo_debug_exit_str_masked(__func__, __FILE__, __LINE__, \
|
||||||
sudo_debug_subsys, sudo_debug_rval); \
|
sudo_debug_subsys, sudo_debug_rval); \
|
||||||
return (char *)sudo_debug_rval; \
|
return sudo_debug_rval; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define debug_return_ptr(rval) \
|
#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 { \
|
do { \
|
||||||
const void *sudo_debug_rval = (rval); \
|
const void *sudo_debug_rval = (rval); \
|
||||||
sudo_debug_exit_ptr(__func__, __FILE__, __LINE__, sudo_debug_subsys, \
|
sudo_debug_exit_ptr(__func__, __FILE__, __LINE__, sudo_debug_subsys, \
|
||||||
sudo_debug_rval); \
|
sudo_debug_rval); \
|
||||||
return (void *)sudo_debug_rval; \
|
return sudo_debug_rval; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -768,7 +768,7 @@ logfac2str(int n)
|
|||||||
|
|
||||||
for (fac = facilities; fac->name && fac->num != n; fac++)
|
for (fac = facilities; fac->name && fac->num != n; fac++)
|
||||||
;
|
;
|
||||||
debug_return_str(fac->name);
|
debug_return_const_str(fac->name);
|
||||||
#else
|
#else
|
||||||
return "default";
|
return "default";
|
||||||
#endif /* LOG_NFACILITIES */
|
#endif /* LOG_NFACILITIES */
|
||||||
@@ -800,7 +800,7 @@ logpri2str(int n)
|
|||||||
|
|
||||||
for (pri = priorities; pri->name && pri->num != n; pri++)
|
for (pri = priorities; pri->name && pri->num != n; pri++)
|
||||||
;
|
;
|
||||||
debug_return_str(pri->name);
|
debug_return_const_str(pri->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
|
@@ -1473,7 +1473,7 @@ sudo_krb5_ccname_path(const char *old_ccname)
|
|||||||
"ccache %s -> %s", old_ccname, ccname);
|
"ccache %s -> %s", old_ccname, ccname);
|
||||||
|
|
||||||
/* Credential cache must be a fully-qualified path name. */
|
/* Credential cache must be a fully-qualified path name. */
|
||||||
debug_return_str(*ccname == '/' ? ccname : NULL);
|
debug_return_const_str(*ccname == '/' ? ccname : NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
|
@@ -127,7 +127,7 @@ disable_execute(char *const envp[])
|
|||||||
envp = nenvp;
|
envp = nenvp;
|
||||||
#endif /* _PATH_SUDO_NOEXEC */
|
#endif /* _PATH_SUDO_NOEXEC */
|
||||||
|
|
||||||
debug_return_ptr(envp);
|
debug_return_const_ptr(envp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user