Checked in jfc's changes to handle new principal type
authorTheodore Tso <tytso@mit.edu>
Wed, 10 Jun 1992 22:44:30 +0000 (22:44 +0000)
committerTheodore Tso <tytso@mit.edu>
Wed, 10 Jun 1992 22:44:30 +0000 (22:44 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2295 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/ccache/file/fcc_write.c

index e854e1a1cd65b6469cb4dad3f28d488374ff4567..766463ddd371b5038565521982d50a59a9252829 100644 (file)
@@ -73,28 +73,30 @@ krb5_fcc_write(id, buf, len)
  * system errors
  */
 
+/* XXX TODO: write principal type to file XXX */
+
 krb5_error_code
 krb5_fcc_store_principal(id, princ)
    krb5_ccache id;
    krb5_principal princ;
 {
-     krb5_error_code ret;
-     krb5_principal temp;
-     krb5_int32 i, length = 0;
+    krb5_error_code ret;
+    krb5_int32 i, length;
 
-     /* Count the number of components */
-     temp = princ;
-     while (*temp++)
-         length += 1;
+    length = krb5_princ_size(princ);
 
-     ret = krb5_fcc_store_int32(id, &length);
-     CHECK(ret);
-     for (i=0; i < length; i++) {
-         ret = krb5_fcc_store_data(id, princ[i]);
-         CHECK(ret);
-     }
+    ret = krb5_fcc_store_int32(id, &length);
+    CHECK(ret);
 
-     return KRB5_OK;
+    ret = krb5_fcc_store_data(id, krb5_princ_realm(princ));
+    CHECK(ret);
+
+    for (i=0; i < length; i++) {
+       ret = krb5_fcc_store_data(id, krb5_princ_component(princ, i));
+       CHECK(ret);
+    }
+
+    return KRB5_OK;
 }
 
 krb5_error_code