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