fix signedness error handling invalid multibyte sequences in regexec
fix signedness error handling invalid multibyte sequences in regexec

the "< 0" test was always false due to use of an unsigned type. this
resulted in infinite loops on 32-bit machines (adding -1U to a pointer
is the same as adding -1) and crashes on 64-bit machines (offsetting
the string pointer by 4gb-1b when an illegal sequence was hit).

davidlazar/musl,chardi/musl,chardi/musl,chardi/musl,davidlazar/musl