summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf
diff options
context:
space:
mode:
authorkrangelov <kr.angelov@gmail.com>2019-08-09 15:15:30 +0200
committerkrangelov <kr.angelov@gmail.com>2019-08-09 15:15:30 +0200
commit3e662475ee8413f21562bf06c45d5e8e4efe4eff (patch)
tree6ba6bf18306b0a8c6c0e271b9a6d9763073d6df6 /src/runtime/c/pgf
parent32379a8d1118838e8f3487e1c54ab6eee813e7a5 (diff)
bugfix in the parser's scanner
Diffstat (limited to 'src/runtime/c/pgf')
-rw-r--r--src/runtime/c/pgf/parser.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/c/pgf/parser.c b/src/runtime/c/pgf/parser.c
index be672d571..428ec9f1e 100644
--- a/src/runtime/c/pgf/parser.c
+++ b/src/runtime/c/pgf/parser.c
@@ -1159,7 +1159,7 @@ pgf_parsing_scan(PgfParsing *ps)
PgfParseState* state =
pgf_new_parse_state(ps, 0, BIND_SOFT);
- while (state != NULL) {
+ while (state->end_offset < len) {
if (state->needs_bind) {
// We have encountered two tokens without space in between.
// Those can be accepted only if there is a BIND token
@@ -1177,7 +1177,7 @@ pgf_parsing_scan(PgfParsing *ps)
// skip one character and try again
GuString s = ps->sentence+state->end_offset;
gu_utf8_decode((const uint8_t**) &s);
- pgf_new_parse_state(ps, ps->sentence-s, BIND_NONE);
+ pgf_new_parse_state(ps, s-ps->sentence, BIND_NONE);
}
if (state == ps->before)