mirror of
https://github.com/swisspol/GCDWebServer.git
synced 2026-05-31 00:00:10 +08:00
Merge pull request #255 from iosphere/check-range-location
Fix NSRangeException by checking range of NSTextCheckingResult
This commit is contained in:
@@ -957,7 +957,12 @@ static inline NSString* _EncodeBase64(NSString* string) {
|
|||||||
for (NSTextCheckingResult* result in matches) {
|
for (NSTextCheckingResult* result in matches) {
|
||||||
// Start at 1; index 0 is the whole string
|
// Start at 1; index 0 is the whole string
|
||||||
for (NSUInteger i = 1; i < result.numberOfRanges; i++) {
|
for (NSUInteger i = 1; i < result.numberOfRanges; i++) {
|
||||||
[captures addObject:[urlPath substringWithRange:[result rangeAtIndex:i]]];
|
NSRange range = [result rangeAtIndex:i];
|
||||||
|
// range is {NSNotFound, 0} "if one of the capture groups did not participate in this particular match"
|
||||||
|
// see discussion in -[NSRegularExpression firstMatchInString:options:range:]
|
||||||
|
if (range.location != NSNotFound) {
|
||||||
|
[captures addObject:[urlPath substringWithRange:range]];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user