From de4f5fdaf8f4a4ffd26e0da22c55f701e3dc2e65 Mon Sep 17 00:00:00 2001 From: Jake MacMullin Date: Mon, 13 Oct 2008 16:55:37 +1100 Subject: [PATCH][BUILD] Added code to esape special characters in strings passed to stringByReplacingOccurrencesOfString as these methods take Strings not Regular Expressions. --- Foundation/CPString.j | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/Foundation/CPString.j b/Foundation/CPString.j index 764e946..55f4ecb 100644 --- a/Foundation/CPString.j +++ b/Foundation/CPString.j @@ -362,6 +362,7 @@ var CPStringHashes = new objj_dictionary(); - (CPString)stringByReplacingOccurrencesOfString:(CPString)target withString:(CPString)replacement { + target = target.replace(/[.*+?^${}()|[\]\/\\]/g, '\\$0'); return self.replace(new RegExp(target, "g"), replacement); } @@ -376,6 +377,7 @@ var CPStringHashes = new objj_dictionary(); - (CPString)stringByReplacingOccurrencesOfString:(CPString)target withString:(CPString)replacement options:(int)options range:(CPRange)searchRange { + target = target.replace(/[.*+?^${}()|[\]\/\\]/g, '\\$0'); var start = substring(0, searchRange.location), stringSegmentToSearch = substr(searchRange.location, searchRange.length), end = substring(searchRange.location + searchRange.length, self.length), -- 1.6.0.2