if (validateRE(regexp, TRUE, status) == FALSE) {
return 0;
}
- int32_t result = regexp->fMatcher->start(groupNum, *status);
+ int64_t result = regexp->fMatcher->start64(groupNum, *status);
return result;
}
if (validateRE(regexp, TRUE, status) == FALSE) {
return 0;
}
- int32_t result = regexp->fMatcher->end(groupNum, *status);
+ int64_t result = regexp->fMatcher->end64(groupNum, *status);
return result;
}
int32_t groupNum = 0;
U_ASSERT(c == DOLLARSIGN);
- UChar32 c32;
- U16_GET(replacementText, 0, replIdx, replacementLength, c32);
+ UChar32 c32 = -1;
+ if (replIdx < replacementLength) {
+ U16_GET(replacementText, 0, replIdx, replacementLength, c32);
+ }
if (u_isdigit(c32)) {
int32_t numDigits = 0;
int32_t numCaptureGroups = m->fPattern->fGroupMap->size();
} else if (UTEXT_USES_U16(m->fInputText)) {
srcIdx = (int32_t)nativeIdx;
} else {
- UErrorCode status = U_ZERO_ERROR;
- srcIdx = utext_extract(m->fInputText, 0, nativeIdx, NULL, 0, &status);
+ UErrorCode newStatus = U_ZERO_ERROR;
+ srcIdx = utext_extract(m->fInputText, 0, nativeIdx, NULL, 0, &newStatus);
}
for (;;) {