[macruby-changes] [541] MacRuby/trunk/string.c
source_changes at macosforge.org
source_changes at macosforge.org
Mon Sep 1 14:08:22 PDT 2008
Revision: 541
http://trac.macosforge.org/projects/ruby/changeset/541
Author: lsansonetti at apple.com
Date: 2008-09-01 14:08:22 -0700 (Mon, 01 Sep 2008)
Log Message:
-----------
try to isolate a curious crasher
Modified Paths:
--------------
MacRuby/trunk/string.c
Modified: MacRuby/trunk/string.c
===================================================================
--- MacRuby/trunk/string.c 2008-09-01 01:45:46 UTC (rev 540)
+++ MacRuby/trunk/string.c 2008-09-01 21:08:22 UTC (rev 541)
@@ -2958,7 +2958,8 @@
if (n == 0)
return;
- for (i = 0, charset = NULL; i < charset_count; i++) {
+ charset = NULL;
+ for (i = 0; i < charset_count; i++) {
VALUE s = charsets[i];
bool exclude;
const char *sptr, *p;
@@ -2976,8 +2977,9 @@
b = exclude ? sptr + 1 : sptr;
e = sptr + strlen(sptr) - 1;
subset = CFCharacterSetCreateMutable(NULL);
- if (p == NULL)
+ if (p == NULL) {
p = strchr(b, '-');
+ }
while (p != NULL) {
if (p > b && *(p - 1) != '\\' && *(p + 1) != '\0') {
CFCharacterSetAddCharactersInRange(subset,
@@ -2990,6 +2992,7 @@
(CFIndex)p - (CFIndex)b,
kCFStringEncodingUTF8,
false);
+ assert(substr != NULL);
CFCharacterSetAddCharactersInString(subset, substr);
CFRelease(substr);
}
@@ -3008,12 +3011,14 @@
(CFIndex)e - (CFIndex)b + 1,
kCFStringEncodingUTF8,
false);
+ assert(substr != NULL);
CFCharacterSetAddCharactersInString(subset, substr);
CFRelease(substr);
}
- if (exclude)
+ if (exclude) {
CFCharacterSetInvert(subset);
+ }
if (charset == NULL) {
charset = subset;
@@ -3031,7 +3036,7 @@
else {
CFCharacterSetRef subset;
subset = CFCharacterSetCreateWithCharactersInString(NULL,
- (CFStringRef)s);
+ (CFStringRef)s);
CFCharacterSetIntersect(charset, subset);
CFRelease(subset);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080901/716a9960/attachment.html
More information about the macruby-changes
mailing list