for (;;) {
int escaped_r0 = 0;
- if (unlikely(p - estack_bx(stack, top)->u.s.str > estack_bx(stack, top)->u.s.seq_len || *p == '\0')) {
- if (q - estack_ax(stack, top)->u.s.str > estack_ax(stack, top)->u.s.seq_len || *q == '\0') {
+ if (unlikely(p - estack_bx(stack, top)->u.s.str >= estack_bx(stack, top)->u.s.seq_len || *p == '\0')) {
+ if (q - estack_ax(stack, top)->u.s.str >= estack_ax(stack, top)->u.s.seq_len || *q == '\0') {
return 0;
} else {
if (estack_ax(stack, top)->u.s.literal) {
return -1;
}
}
- if (unlikely(q - estack_ax(stack, top)->u.s.str > estack_ax(stack, top)->u.s.seq_len || *q == '\0')) {
- if (p - estack_bx(stack, top)->u.s.str > estack_bx(stack, top)->u.s.seq_len || *p == '\0') {
- return 0;
- } else {
- if (estack_bx(stack, top)->u.s.literal) {
- ret = parse_char(&p);
- if (ret == -1)
- return 0;
- }
- return 1;
+ if (unlikely(q - estack_ax(stack, top)->u.s.str >= estack_ax(stack, top)->u.s.seq_len || *q == '\0')) {
+ if (estack_bx(stack, top)->u.s.literal) {
+ ret = parse_char(&p);
+ if (ret == -1)
+ return 0;
}
+ return 1;
}
if (estack_bx(stack, top)->u.s.literal) {
ret = parse_char(&p);