1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00

r13736: Don't assume that printf can handle string arguments being NULL. Tidy

up typing and tighten error checking a little.
(This used to be commit 37e12a196b)
This commit is contained in:
James Peach 2006-02-28 00:59:14 +00:00 committed by Gerald (Jerry) Carter
parent 554155473b
commit 51d3bbe285

View File

@ -2152,14 +2152,17 @@ static param_opt_struct *get_parametrics(int snum, const char *type, const char
}
#define MISSING_PARAMETER(name) \
DEBUG(0, ("%s(): value is NULL or empty!\n", #name))
/*******************************************************************
convenience routine to return int parameters.
********************************************************************/
static int lp_int(const char *s)
{
if (!s) {
DEBUG(0,("lp_int(%s): is called with NULL!\n",s));
if (!s || !*s) {
MISSING_PARAMETER(lp_int);
return (-1);
}
@ -2169,12 +2172,12 @@ static int lp_int(const char *s)
/*******************************************************************
convenience routine to return unsigned long parameters.
********************************************************************/
static int lp_ulong(const char *s)
static unsigned long lp_ulong(const char *s)
{
if (!s) {
DEBUG(0,("lp_int(%s): is called with NULL!\n",s));
return (-1);
if (!s || !*s) {
MISSING_PARAMETER(lp_ulong);
return (0);
}
return strtoul(s, NULL, 10);
@ -2187,8 +2190,8 @@ static BOOL lp_bool(const char *s)
{
BOOL ret = False;
if (!s) {
DEBUG(0,("lp_bool(%s): is called with NULL!\n",s));
if (!s || !*s) {
MISSING_PARAMETER(lp_bool);
return False;
}
@ -2207,8 +2210,8 @@ static int lp_enum(const char *s,const struct enum_list *_enum)
{
int i;
if (!s || !_enum) {
DEBUG(0,("lp_enum(%s,enum): is called with NULL!\n",s));
if (!s || !*s || !_enum) {
MISSING_PARAMETER(lp_enum);
return (-1);
}
@ -2221,6 +2224,7 @@ static int lp_enum(const char *s,const struct enum_list *_enum)
return (-1);
}
#undef MISSING_PARAMETER
/* DO NOT USE lp_parm_string ANYMORE!!!!
* use lp_parm_const_string or lp_parm_talloc_string
@ -3485,16 +3489,15 @@ BOOL lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue
switch (parm_table[parmnum].type)
{
case P_BOOL:
set_boolean((BOOL *)parm_ptr, pszParmValue);
*(BOOL *)parm_ptr = lp_bool(pszParmValue);
break;
case P_BOOLREV:
set_boolean((BOOL *)parm_ptr, pszParmValue);
*(BOOL *)parm_ptr = !*(BOOL *)parm_ptr;
*(BOOL *)parm_ptr = !lp_bool(pszParmValue);
break;
case P_INTEGER:
*(int *)parm_ptr = atoi(pszParmValue);
*(int *)parm_ptr = lp_int(pszParmValue);
break;
case P_CHAR: