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') {
- diff = 0;
+ return 0;
} else {
- ret = parse_char(&q);
- if (ret == -1)
- diff = 0;
- else
- diff = -1;
+ if (estack_ax(stack, top)->u.s.literal) {
+ ret = parse_char(&q);
+ if (ret == -1)
+ return 0;
+ }
+ return -1;
}
- break;
}
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') {
- diff = 0;
+ return 0;
} else {
- ret = parse_char(&p);
- if (ret == -1)
- diff = 0;
- else
- diff = 1;
+ if (estack_bx(stack, top)->u.s.literal) {
+ ret = parse_char(&p);
+ if (ret == -1)
+ return 0;
+ }
+ return 1;
}
- break;
}
if (estack_bx(stack, top)->u.s.literal) {
ret = parse_char(&p);