(foreach_principal): add `funcname' and try printing the error string

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9850 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
2001-05-07 05:29:45 +00:00
parent c1351784e9
commit 437b1230c7

View File

@@ -461,6 +461,7 @@ is_expression(const char *string)
int int
foreach_principal(const char *exp, foreach_principal(const char *exp,
int (*func)(krb5_principal, void*), int (*func)(krb5_principal, void*),
const char *funcname,
void *data) void *data)
{ {
char **princs; char **princs;
@@ -500,15 +501,22 @@ foreach_principal(const char *exp,
ret = (*func)(princ_ent, data); ret = (*func)(princ_ent, data);
if(ret) { if(ret) {
char *tmp; char *tmp;
krb5_error_code ret2;
ret2 = krb5_unparse_name(context, princ_ent, &tmp); tmp = krb5_get_error_string(context);
if(ret2) { if (tmp != NULL) {
krb5_warn(context, ret2, "krb5_unparse_name"); krb5_warnx(context, "%s: %s", funcname, tmp);
krb5_warn(context, ret, "<unknown principal>"); krb5_free_error_string(context, tmp);
} else { } else {
krb5_warn(context, ret, "%s", tmp); krb5_error_code ret2;
free(tmp);
ret2 = krb5_unparse_name(context, princ_ent, &tmp);
if(ret2) {
krb5_warn(context, ret2, "krb5_unparse_name");
krb5_warn(context, ret, "<unknown principal>");
} else {
krb5_warn(context, ret, "%s: %s", funcname, tmp);
free(tmp);
}
} }
} }
krb5_free_principal(context, princ_ent); krb5_free_principal(context, princ_ent);