diff options
author | John Carr <jfc@mit.edu> | 1992-08-21 02:57:41 +0000 |
---|---|---|
committer | John Carr <jfc@mit.edu> | 1992-08-21 02:57:41 +0000 |
commit | b3fe263e5dc8b362aec2ee8c35d5528a04cb8fe2 (patch) | |
tree | ee33b4fdc043f57287d4595591d5ebd8b72063f7 /src/lib/krb5/krb/princ_comp.c | |
parent | 3fecd7a277f3ab86697bae4c1e232a6ad5806908 (diff) | |
download | krb5-b3fe263e5dc8b362aec2ee8c35d5528a04cb8fe2.tar.gz krb5-b3fe263e5dc8b362aec2ee8c35d5528a04cb8fe2.tar.xz krb5-b3fe263e5dc8b362aec2ee8c35d5528a04cb8fe2.zip |
Principal type changes
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2347 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/krb/princ_comp.c')
-rw-r--r-- | src/lib/krb5/krb/princ_comp.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/lib/krb5/krb/princ_comp.c b/src/lib/krb5/krb/princ_comp.c index 4fa3f91694..4e8c9f531c 100644 --- a/src/lib/krb5/krb/princ_comp.c +++ b/src/lib/krb5/krb/princ_comp.c @@ -34,26 +34,28 @@ static char rcsid_princ_comp_c[] = #include <krb5/krb5.h> #include <krb5/ext-proto.h> -#ifndef min -#define min(a,b) ((a) < (b) ? (a) : (b)) -#endif /* min */ - krb5_boolean krb5_principal_compare(princ1, princ2) krb5_const_principal princ1; krb5_const_principal princ2; { - register krb5_data * const *p1, * const *p2; + register int i, nelem; - for (p1 = princ1, p2 = princ2; *p1 && *p2; p1++, p2++) { - if ((*p1)->length != (*p2)->length) - return FALSE; - if (memcmp((*p1)->data, (*p2)->data, (*p1)->length)) - + nelem = krb5_princ_size(princ1); + if (nelem != krb5_princ_size(princ2)) + return FALSE; + + if (krb5_princ_realm(princ1)->length != krb5_princ_realm(princ2)->length || + memcmp (krb5_princ_realm(princ1)->data, krb5_princ_realm(princ2)->data, + krb5_princ_realm(princ2)->length)) + return FALSE; + + for (i = 0; i < nelem; i++) { + register const krb5_data *p1 = krb5_princ_component(princ1, i); + register const krb5_data *p2 = krb5_princ_component(princ2, i); + if (p1->length != p2->length || + memcmp(p1->data, p2->data, p1->length)) return FALSE; } - if (*p1 || *p2) /* didn't both run out of components - at once */ - return FALSE; return TRUE; } |