Actually make [Identity -componentsString] use kim_identity_get_components_string
authorJustin Anderson <jander@mit.edu>
Sun, 28 Sep 2008 23:51:09 +0000 (23:51 +0000)
committerJustin Anderson <jander@mit.edu>
Sun, 28 Sep 2008 23:51:09 +0000 (23:51 +0000)
Also, better error handling in Identity and Identities classes.

ticket: 6055

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20774 dc483132-0cff-0310-8789-dd5450dbe970

src/kim/agent/mac/Identities.m
src/kim/agent/mac/KIMUtilities.h
src/kim/agent/mac/KIMUtilities.m
src/kim/agent/mac/SelectIdentityController.m

index 4e5586787435f832afb61518d71dab5f61c36417..54a4947dcfee063842585ea6675692906d06f04d 100644 (file)
     }
     
     if (err) {
-        NSLog(@"%s got error %s", _cmd, error_message(err));
+        log_kim_error_to_console(err);
     }
 }
 
     }
     
     if (err) {
-        NSLog(@"%s got error %s", _cmd, error_message(err));
+        log_kim_error_to_console(err);
     }
     
     kim_string_free(&display_string);
     kim_string display_string = NULL;
     NSString *result = @"";
     
-    err = kim_identity_get_components_string(kimIdentity, &display_string);
+    if (self.kimIdentity) {
+        err = kim_identity_get_components_string(self.kimIdentity, &display_string);
+    }
     
-    if (!err) {
-        NSRange atRange;
-        
+    if (!err && display_string) {
         result = [NSString stringWithUTF8String:display_string];
-        atRange = [result rangeOfString:@"@" options:NSBackwardsSearch];
-        result = [result substringToIndex:atRange.location];
+    }
+    
+    if (err) {
+        log_kim_error_to_console(err);
     }
     
     kim_string_free(&display_string);
     kim_string display_string = NULL;
     NSString *result = @"";
     
-    err = kim_identity_get_realm(kimIdentity, &display_string);
+    if (self.kimIdentity) {
+        err = kim_identity_get_realm(self.kimIdentity, &display_string);
+    }
     
-    if (!err) {
+    if (!err && display_string) {
         result = [NSString stringWithUTF8String:display_string];
     }
     
+    if (err) {
+        log_kim_error_to_console(err);
+    }
+    
     kim_string_free(&display_string);
     
     return result;
            if (!err) {
                NSLog (@"%s thread noticed update", __FUNCTION__);
            } else {
-               NSLog (@"%s thread got error %d (%s)", __FUNCTION__, err, error_message (err));
+               NSLog (@"%s thread got error %d (%s)", __FUNCTION__, err, [NSString stringForLastKIMError:err]);
                 err = 0; /* The server quit unexpectedly -- just try again */
             }
             
         }
         
         if (err) {
-            NSLog(@"%s got error %s", _cmd, error_message(err));
+            log_kim_error_to_console(err);
         }
         
         kim_options_free (&kimOptions);
         self.identities = [[newIdentities allObjects] sortedArrayUsingSelector:@selector(compare:)];
         if (!identities) { err = ENOMEM; }            
     } else {
-        NSLog (@"Got error %s", error_message (err));
+        log_kim_error_to_console(err);
     }
     
     return err;
     kim_preferences_free(&prefs);
 
     if (err) {
-        NSLog(@"%s received error %s", _cmd, error_message(err));
+        log_kim_error_to_console(err);
     }
-
+    
     if (!err) {
         [self reload];
     }
index 790d238e68bc714f9506fd93d94f9145d2d4bff1..68774952cfd048830b00ca442eb90f75b163c84b 100644 (file)
@@ -9,6 +9,11 @@
 #import <Cocoa/Cocoa.h>
 #import <Kerberos/kim.h>
 
+#define log_kim_error_to_console(err)\
+{\
+NSLog(@"%s got error %@", _cmd, [NSString stringForLastKIMError:err]);\
+} while (0);
+
 @interface NSString (KIMUtilities)
 
 + (NSString *) stringForLastKIMError: (kim_error) in_err;
index f8c7b85084957ca9b335d38aefd9bf14c9d3f10b..07c85e8e8283905f4f2af22329faef5d22e5e634 100644 (file)
@@ -8,7 +8,6 @@
 
 #import "KIMUtilities.h"
 
-
 @implementation NSString (KIMUtilities)
 
 + (NSString *) stringForLastKIMError: (kim_error) in_err
index b26eaaa00c70666ce33694f36ec91cb8ce81a882..e70189d68e36b580636499e7d9fe1af3752a0478 100644 (file)
     
     //[window center];
     [self showWindow: self];
-    [NSApp run];
-    [self close];
+//    [NSApp run];
+//    [self close];
     
     //[[NSApp delegate] removeActiveWindow: [self window]];