krb5_config_get_strings

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3072 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1997-08-21 18:44:35 +00:00
parent 9718fb26f9
commit 63fbbba81c
2 changed files with 55 additions and 0 deletions

View File

@@ -539,6 +539,57 @@ krb5_config_vget_string (krb5_config_section *c,
return krb5_config_vget (c, STRING, args);
}
char **
krb5_config_vget_strings(krb5_config_section *c,
va_list args)
{
char **strings = NULL;
int nstr = 0;
krb5_config_binding *b = NULL;
const char *p;
while((p = krb5_config_vget_next(c, &b, STRING, args))){
char *tmp = strdup(p);
char *pos = NULL;
char *s;
s = strtok_r(tmp, " \t", &pos);
while(s){
strings = realloc(strings, (nstr + 1) * sizeof(*strings));
strings[nstr] = strdup(s);
nstr++;
s = strtok_r(NULL, " \t", &pos);
}
free(tmp);
}
if(nstr){
strings = realloc(strings, (nstr + 1) * sizeof(*strings));
strings[nstr] = NULL;
}
return strings;
}
char**
krb5_config_get_strings(krb5_config_section *c,
...)
{
va_list ap;
char **ret;
va_start(ap, c);
ret = krb5_config_vget_strings(c, ap);
va_end(ap);
return ret;
}
void
krb5_config_free_strings(char **strings)
{
char **s = strings;
while(s && *s){
free(s);
s++;
}
free(strings);
}
krb5_boolean
krb5_config_vget_bool (krb5_config_section *c,
va_list args)

View File

@@ -153,6 +153,10 @@ const char *krb5_config_get_string (krb5_config_section *c,
const char *krb5_config_vget_string (krb5_config_section *c,
va_list args);
char **krb5_config_vget_strings(krb5_config_section *c, va_list args);
char **krb5_config_get_strings(krb5_config_section *c, ...);
void krb5_config_free_strings(char **strings);
krb5_boolean krb5_config_vget_bool (krb5_config_section *c, va_list args);
krb5_boolean krb5_config_get_bool (krb5_config_section *c, ...);