From: <ho...@us...> - 2008-02-29 00:58:35
|
Revision: 12893 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=12893&view=rev Author: hofman Date: 2008-02-28 16:58:36 -0800 (Thu, 28 Feb 2008) Log Message: ----------- %-escape reserved URI characters in generated components of URLs for searching and for our custom URLs. Modified Paths: -------------- trunk/bibdesk/BDSKEntrezGroupServer.m trunk/bibdesk/BibItem.m trunk/bibdesk/NSString_BDSKExtensions.m Modified: trunk/bibdesk/BDSKEntrezGroupServer.m =================================================================== --- trunk/bibdesk/BDSKEntrezGroupServer.m 2008-02-28 21:04:48 UTC (rev 12892) +++ trunk/bibdesk/BDSKEntrezGroupServer.m 2008-02-29 00:58:36 UTC (rev 12893) @@ -213,7 +213,7 @@ if(NO == [NSString isEmptyString:[self searchTerm]]){ // get the initial XML document with our search parameters in it - NSString *esearch = [[[self class] baseURLString] stringByAppendingFormat:@"/esearch.fcgi?db=%@&retmax=1&usehistory=y&term=%@&tool=bibdesk", [[self serverInfo] database], [[self searchTerm] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; + NSString *esearch = [[[self class] baseURLString] stringByAppendingFormat:@"/esearch.fcgi?db=%@&retmax=1&usehistory=y&term=%@&tool=bibdesk", [[self serverInfo] database], [[self searchTerm] stringByAddingPercentEscapes]]; NSURL *initialURL = [NSURL URLWithString:esearch]; OBPRECONDITION(initialURL); @@ -266,7 +266,7 @@ int numResults = MIN([self numberOfAvailableResults] - [self numberOfFetchedResults], MAX_RESULTS); // need to escape queryKey, but the rest should be valid for a URL - NSString *efetch = [[[self class] baseURLString] stringByAppendingFormat:@"/efetch.fcgi?rettype=medline&retmode=text&retstart=%d&retmax=%d&db=%@&query_key=%@&WebEnv=%@&tool=bibdesk", [self numberOfFetchedResults], numResults, [[self serverInfo] database], [[self queryKey] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], [self webEnv]]; + NSString *efetch = [[[self class] baseURLString] stringByAppendingFormat:@"/efetch.fcgi?rettype=medline&retmode=text&retstart=%d&retmax=%d&db=%@&query_key=%@&WebEnv=%@&tool=bibdesk", [self numberOfFetchedResults], numResults, [[self serverInfo] database], [[self queryKey] stringByAddingPercentEscapes], [self webEnv]]; NSURL *theURL = [NSURL URLWithString:efetch]; OBPOSTCONDITION(theURL); Modified: trunk/bibdesk/BibItem.m =================================================================== --- trunk/bibdesk/BibItem.m 2008-02-28 21:04:48 UTC (rev 12892) +++ trunk/bibdesk/BibItem.m 2008-02-29 00:58:36 UTC (rev 12893) @@ -3322,7 +3322,7 @@ } - (NSURL *)bdskURL { - return [NSURL URLWithString:[@"bdsk://" stringByAppendingString:[[self citeKey] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]; + return [NSURL URLWithString:[@"bdsk://" stringByAppendingString:[[self citeKey] stringByAddingPercentEscapes]]]; } @end Modified: trunk/bibdesk/NSString_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSString_BDSKExtensions.m 2008-02-28 21:04:48 UTC (rev 12892) +++ trunk/bibdesk/NSString_BDSKExtensions.m 2008-02-29 00:58:36 UTC (rev 12893) @@ -1572,7 +1572,7 @@ } - (NSString *)stringByAddingPercentEscapes{ - return [self stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; + return [(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, NULL, CFSTR(";/?:@&=+$,"), kCFStringEncodingUTF8) autorelease]; } - (NSString *)stringByReplacingPercentEscapes{ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |