(hdb_list_builtin): return a list of builtin backends

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@13547 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2004-03-19 20:08:28 +00:00
parent c5a4b17e45
commit 525c7fe95d

View File

@@ -314,6 +314,38 @@ find_method (const char *filename, const char **rest)
return NULL;
}
krb5_error_code
hdb_list_builtin(krb5_context context, char **list)
{
const struct hdb_method *h;
size_t len = 0;
char *p, *buf = NULL;
for (h = methods; h->prefix != NULL; ++h) {
if (h->prefix[0] == '\0')
continue;
len += strlen(h->prefix) + 2;
}
len += 1;
buf = malloc(len);
if (buf == NULL) {
krb5_set_error_string(context, "malloc: out of memory");
return ENOMEM;
}
buf[0] = '\0';
for (h = methods; h->prefix != NULL; ++h) {
if (h->prefix[0] == '\0')
continue;
if (h != methods)
strlcat(buf, ", ", len);
strlcat(buf, h->prefix, len);
}
*list = buf;
return 0;
}
krb5_error_code
hdb_create(krb5_context context, HDB **db, const char *filename)
{