X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fregex_internal.c;h=bf3246105a17f3420d87ede189ae1d4457a3eee8;hb=fec9ced8bc9928d00ea8afd3a2bc0e302d182c34;hp=05cd335efe6d550953e7eff2856c867b5c70f3df;hpb=ea626b109404ea6c3a2e74938db386266dbda715;p=pspp diff --git a/lib/regex_internal.c b/lib/regex_internal.c index 05cd335efe..bf3246105a 100644 --- a/lib/regex_internal.c +++ b/lib/regex_internal.c @@ -557,8 +557,11 @@ static reg_errcode_t internal_function re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) { - regoff_t offset = (regoff_t) idx - (regoff_t) pstr->raw_mbs_idx; - if (BE (offset < 0, 0)) + Idx offset; + + if (BE (pstr->raw_mbs_idx <= idx, 0)) + offset = idx - pstr->raw_mbs_idx; + else { /* Reset buffer. */ #ifdef RE_ENABLE_I18N