Add krb5_config_{vget,get}_{bool,time,int}_default.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4733 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1998-04-05 07:12:37 +00:00
parent 71f0c82709
commit f5bc40d4b1

View File

@@ -563,21 +563,43 @@ krb5_config_free_strings(char **strings)
}
krb5_boolean
krb5_config_vget_bool (krb5_context context,
krb5_config_section *c,
va_list args)
krb5_config_vget_bool_default (krb5_context context,
krb5_config_section *c,
krb5_boolean def_value,
va_list args)
{
const char *str;
str = krb5_config_vget_string (context, c, args);
if(str == NULL)
return FALSE;
if(strcasecmp(str, "yes") == 0 ||
strcasecmp(str, "true") == 0 ||
atoi(str))
return TRUE;
return def_value;
if(strcasecmp(str, "yes") == 0 ||
strcasecmp(str, "true") == 0 ||
atoi(str)) return TRUE;
return FALSE;
}
krb5_boolean
krb5_config_vget_bool (krb5_context context,
krb5_config_section *c,
va_list args)
{
return krb5_config_vget_bool_default (context, c, FALSE, args);
}
krb5_boolean
krb5_config_get_bool_default (krb5_context context,
krb5_config_section *c,
krb5_boolean def_value,
...)
{
va_list ap;
krb5_boolean ret;
va_start(ap, def_value);
ret = krb5_config_vget_bool_default(context, c, def_value, ap);
va_end(ap);
return ret;
}
krb5_boolean
krb5_config_get_bool (krb5_context context,
krb5_config_section *c,
@@ -586,23 +608,44 @@ krb5_config_get_bool (krb5_context context,
va_list ap;
krb5_boolean ret;
va_start(ap, c);
ret = krb5_config_vget_bool(context, c, ap);
ret = krb5_config_vget_bool (context, c, ap);
va_end(ap);
return ret;
}
int
krb5_config_vget_time (krb5_context context,
krb5_config_section *c,
va_list args)
krb5_config_vget_time_default (krb5_context context,
krb5_config_section *c,
int def_value,
va_list args)
{
const char *str;
str = krb5_config_vget_string (context, c, args);
if (str == NULL)
return -1;
else
return parse_time (str, NULL);
if(str == NULL)
return def_value;
return parse_time (str, NULL);
}
int
krb5_config_vget_time (krb5_context context,
krb5_config_section *c,
va_list args)
{
return krb5_config_vget_time_default (context, c, -1, args);
}
int
krb5_config_get_time_default (krb5_context context,
krb5_config_section *c,
int def_value,
...)
{
va_list ap;
int ret;
va_start(ap, def_value);
ret = krb5_config_vget_time_default(context, c, def_value, ap);
va_end(ap);
return ret;
}
int
@@ -610,48 +653,68 @@ krb5_config_get_time (krb5_context context,
krb5_config_section *c,
...)
{
va_list ap;
int ret;
va_list args;
va_start(args, c);
ret = krb5_config_vget_time (context, c, args);
va_end(args);
va_start(ap, c);
ret = krb5_config_vget_time (context, c, ap);
va_end(ap);
return ret;
}
int
krb5_config_vget_int (krb5_context context,
krb5_config_section *c,
va_list args)
krb5_config_vget_int_default (krb5_context context,
krb5_config_section *c,
int def_value,
va_list args)
{
const char *str;
str = krb5_config_vget_string (context, c, args);
if (str == NULL)
return -1;
else {
char *endptr;
long l;
l = strtol(str, &endptr, 0);
if (endptr == str)
return -1;
else
if(str == NULL)
return def_value;
else {
char *endptr;
long l;
l = strtol(str, &endptr, 0);
if (endptr == str)
return def_value;
else
return l;
}
}
int
krb5_config_vget_int (krb5_context context,
krb5_config_section *c,
va_list args)
{
return krb5_config_vget_int_default (context, c, -1, args);
}
int
krb5_config_get_int_default (krb5_context context,
krb5_config_section *c,
int def_value,
...)
{
va_list ap;
int ret;
va_start(ap, def_value);
ret = krb5_config_vget_int_default(context, c, def_value, ap);
va_end(ap);
return ret;
}
int
krb5_config_get_int (krb5_context context,
krb5_config_section *c,
...)
{
va_list ap;
int ret;
va_list args;
va_start(args, c);
ret = krb5_config_vget_int (context, c, args);
va_end(args);
va_start(ap, c);
ret = krb5_config_vget_int (context, c, ap);
va_end(ap);
return ret;
}