Modified: MacRuby/branches/icu/string.c (3618 => 3619)
--- MacRuby/branches/icu/string.c 2010-02-25 09:06:00 UTC (rev 3618)
+++ MacRuby/branches/icu/string.c 2010-02-25 10:34:01 UTC (rev 3619)
@@ -877,6 +877,7 @@
}
else {
long length = BYTES_TO_UCHARS(self->length_in_bytes);
+ long offset_in_uchars = BYTES_TO_UCHARS(offset_in_bytes);
long index = 0, i = 0;
for (;;) {
if (U16_IS_LEAD(self->data.uchars[i]) && (i+1 < length)
@@ -886,11 +887,11 @@
else {
++i;
}
- if (offset_in_bytes < i) {
+ if (offset_in_uchars < i) {
return index;
}
++index;
- if (offset_in_bytes == i) {
+ if (offset_in_uchars == i) {
return index;
}
}
@@ -1576,7 +1577,7 @@
// fall through
case T_STRING:
pos = str_index_for_string(RSTR(self), str_need_string(sub),
- pos, false);
+ pos, true);
break;
}