adium-1.4 2594:c8cabd9d5d0d: Cherry picked from adium [823d05c89...

commits at adium.im commits at adium.im
Sat Aug 22 19:46:02 UTC 2009


details:	http://hg.adium.im/adium-1.4/rev/c8cabd9d5d0d
revision:	2594:c8cabd9d5d0d
author:		Stephen Holt <sholt at adium.im>
date:		Sat Aug 22 15:44:29 2009 -0400

Cherry picked from adium [823d05c896a9]: try unescaping a url first, then re-escape it.  If, for some reason, unescaping fails, fall back on the originating string.  Fixes #12850.

diffs (27 lines):

diff -r b4bd28402abc -r c8cabd9d5d0d Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.m
--- a/Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.m	Fri Aug 21 16:28:45 2009 -0400
+++ b/Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.m	Sat Aug 22 15:44:29 2009 -0400
@@ -101,13 +101,18 @@
 
 - (void)setURLFromString:(NSString *)inString
 {
-	NSString	*linkString;
+	NSString	*linkString, *preString;
 
+	preString = (NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, 
+																					(CFStringRef)inString, 
+																					CFSTR(""), 
+																					kCFStringEncodingUTF8);
+	
 	linkString = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
-	                                        (CFStringRef)inString,
-	                                        (CFStringRef)@"#[]",
-	                                        NULL,
-	                                        kCFStringEncodingUTF8); // kCFStringEncodingISOLatin1 );
+																	 preString? (CFStringRef)preString : (CFStringRef)inString,
+																	 (CFStringRef)@"#[]",
+																	 NULL,
+																	 kCFStringEncodingUTF8); // kCFStringEncodingISOLatin1 );
 
 	[linkURL release];
 	linkURL = [[NSURL alloc] initWithString:linkString];




More information about the commits mailing list