if (s == PL_bostr)
tmp = '\n';
else {
- U8 *r = reghop3((U8*)s, -1, (U8*)startpos);
+ U8 *r = reghop3((U8*)s, -1, (U8*)PL_bostr);
- if (s > (char*)r)
- tmp = (I32)utf8n_to_uvchr(r, s - (char*)r, 0, 0);
+ tmp = utf8n_to_uvchr(r, UTF8SKIP(r), 0, 0);
}
tmp = ((OP(c) == BOUND ?
isALNUM_uni(tmp) : isALNUM_LC_uvchr(UNI_TO_NATIVE(tmp))) != 0);
if (s == PL_bostr)
tmp = '\n';
else {
- U8 *r = reghop3((U8*)s, -1, (U8*)startpos);
+ U8 *r = reghop3((U8*)s, -1, (U8*)PL_bostr);
- if (s > (char*)r)
- tmp = (I32)utf8n_to_uvchr(r, s - (char*)r, 0, 0);
+ tmp = utf8n_to_uvchr(r, UTF8SKIP(r), 0, 0);
}
tmp = ((OP(c) == NBOUND ?
isALNUM_uni(tmp) : isALNUM_LC_uvchr(UNI_TO_NATIVE(tmp))) != 0);
if (locinput == PL_bostr)
ln = '\n';
else {
- U8 *r = reghop((U8*)locinput, -1);
+ U8 *r = reghop3((U8*)locinput, -1, (U8*)PL_bostr);
- ln = utf8n_to_uvchr(r, s - (char*)r, 0, 0);
+ ln = utf8n_to_uvchr(r, UTF8SKIP(r), 0, 0);
}
if (OP(scan) == BOUND || OP(scan) == NBOUND) {
ln = isALNUM_uni(ln);