- if (OOB(c,*s)) goto ilseq;
- c = (c<<6) | *s++-0x80;
- if (!(c&(1U<<31))) break;
-
- if (*s-0x80u >= 0x40) goto ilseq;
- c = (c<<6) | *s++-0x80;
- if (!(c&(1U<<31))) break;
-
- if (*s-0x80u >= 0x40) goto ilseq;
+ if (OOB(c,*s)) { s--; break; }
+ c = (c<<6) | *s++-0x80;
+ if (c&(1U<<31)) {
+ if (*s-0x80u >= 0x40) { s-=2; break; }