Revision: 27958
http://sourceforge.net/p/bibdesk/svn/27958
Author: hofman
Date: 2022-09-29 14:58:40 +0000 (Thu, 29 Sep 2022)
Log Message:
-----------
always try to get password
Modified Paths:
--------------
trunk/bibdesk/BDSKServerInfo.m
Modified: trunk/bibdesk/BDSKServerInfo.m
===================================================================
--- trunk/bibdesk/BDSKServerInfo.m 2022-09-29 14:32:13 UTC (rev 27957)
+++ trunk/bibdesk/BDSKServerInfo.m 2022-09-29 14:58:40 UTC (rev 27958)
@@ -278,33 +278,32 @@
return BDSKServerTypeEntrez;
}
-- (BOOL)getUsername:(NSString **)usernamePtr password:(NSString **)passwordPtr
{
+- (BOOL)getUsername:(NSString **)outUsername password:(NSString **)outPassword
{
if ([self isZoom] == NO && [self isISI] == NO)
return NO;
NSString *user = [self username];
if (user == nil)
return NO;
- if (usernamePtr)
- *usernamePtr = user;
- if (passwordPtr) {
- [passwordLock lockForReading];
- NSString *aPassword = [[password retain] autorelease];
+ [passwordLock lockForReading];
+ NSString *pw = [[password retain] autorelease];
+ [passwordLock unlock];
+ if (pw == nil) {
+ NSString *server = [self isISI] ? ISI_SERVER : [self host];
+ if (server == nil)
+ return NO;
+ pw = [BDSKPasswordController passwordForKeychainServer:server
port:[[self port] integerValue] account:user];
+ if (pw == nil)
+ return NO;
+ [passwordLock lockForWriting];
+ passwordInKeychain = YES;
+ [password release];
+ password = [pw copy];
[passwordLock unlock];
- if (aPassword == nil) {
- NSString *server = [self isISI] ? ISI_SERVER : [self host];
- if (server == nil)
- return NO;
- aPassword = [BDSKPasswordController
passwordForKeychainServer:server port:[[self port] integerValue] account:user];
- if (aPassword == nil)
- return NO;
- [passwordLock lockForWriting];
- passwordInKeychain = YES;
- [password release];
- password = [aPassword copy];
- [passwordLock unlock];
- }
- *passwordPtr = aPassword;
}
+ if (outUsername)
+ *outUsername = user;
+ if (outPassword)
+ *outPassword = pw;
return YES;
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit