From 84a701a4f9f2e6f49bd78ccd9f2ba0370e841da9 Mon Sep 17 00:00:00 2001 From: Kent Sutherland Date: Mon, 26 Dec 2005 05:36:33 +0000 Subject: [PATCH] Trying to use initWithCharacters:length: May or may not work Fixed setting the keychain name --- PreferencesController.m | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/PreferencesController.m b/PreferencesController.m index 612faf9..962b7d8 100755 --- a/PreferencesController.m +++ b/PreferencesController.m @@ -20,7 +20,7 @@ #import #define SENDER_STATE (([sender state] == NSOnState) ? YES : NO) -#define AUDIOSCROBBLER_KEYCHAIN_SERVICE(user) [NSString stringWithFormat:@"Audioscrobbler: %@", user] +#define AUDIOSCROBBLER_KEYCHAIN_SERVICE(user) [[NSString stringWithFormat:@"Audioscrobbler: %@", user] UTF8String] #define AUDIOSCROBBLER_KEYCHAIN_KIND "application password" /*************************************************************************/ @@ -84,8 +84,8 @@ static PreferencesController *prefs = nil; attributes[1].data = AUDIOSCROBBLER_KEYCHAIN_KIND; attributes[1].length = strlen(AUDIOSCROBBLER_KEYCHAIN_KIND); attributes[2].tag = kSecLabelItemAttr; - attributes[2].data = AUDIOSCROBBLER_KEYCHAIN_SERVICE(user); - attributes[2].length = [AUDIOSCROBBLER_KEYCHAIN_SERVICE(user) length]; + attributes[2].data = (char *)AUDIOSCROBBLER_KEYCHAIN_SERVICE(user); + attributes[2].length = strlen(AUDIOSCROBBLER_KEYCHAIN_SERVICE(user)); list.count = 3; list.attr = attributes; @@ -131,8 +131,8 @@ static PreferencesController *prefs = nil; attributes[1].data = AUDIOSCROBBLER_KEYCHAIN_KIND; attributes[1].length = strlen(AUDIOSCROBBLER_KEYCHAIN_KIND); attributes[2].tag = kSecLabelItemAttr; - attributes[2].data = AUDIOSCROBBLER_KEYCHAIN_SERVICE(user); - attributes[2].length = [AUDIOSCROBBLER_KEYCHAIN_SERVICE(user) length]; + attributes[2].data = (char *)AUDIOSCROBBLER_KEYCHAIN_SERVICE(user); + attributes[2].length = strlen(AUDIOSCROBBLER_KEYCHAIN_SERVICE(user)); list.count = 3; list.attr = attributes; @@ -184,7 +184,7 @@ static PreferencesController *prefs = nil; ITDebugLog(@"Audioscrobbler: Error getting keychain item password: %i", status); } else { NSLog(@"Audioscrobbler: password buffer: \"%s\" \"Length: %i\"", buffer, length); - pass = [NSString stringWithUTF8String:buffer]; + pass = [[NSString alloc] initWithCharacters:(unichar *)buffer length:length]; } if (status != noErr) { ITDebugLog(@"Audioscrobbler: Error deleting keychain item: %i", status); @@ -192,7 +192,7 @@ static PreferencesController *prefs = nil; CFRelease(item); } NSLog(@"Audioscrobbler: Retrieved password: \"%@\"", pass); - return pass; + return [pass autorelease]; } /*************************************************************************/ -- 2.20.1