summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-03-09 20:15:15 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-03-09 20:15:15 -0700
commit0c514dc343033eafde26679f858796549a96cc8d (patch)
tree1a19a73da0d9611a8e8c9908cc0b8adbc90f1b42 /lib.c
parent01504b7436608a7501bb06f4f1b965607ceb1345 (diff)
downloadtxr-0c514dc343033eafde26679f858796549a96cc8d.tar.gz
txr-0c514dc343033eafde26679f858796549a96cc8d.tar.bz2
txr-0c514dc343033eafde26679f858796549a96cc8d.zip
Fixing broken processing of horizontal matching across
long lines produced by @(freeform). Once the matching passes about 4000 characters, the "consume_prefix" function kicks in to save memory. Then any code which is not properly written to handle this displaced situation will break. * match.c (h_text, h_var, h_coll, h_parallel, h_fun): Bugfix. The recursive calls to match_line return an absolute position. From this value we must subtract c->base if we are to compare it with c->pos, or update c->pos. If we use the absolute value, we are abruptly jumping ahead in the data.
Diffstat (limited to 'lib.c')
0 files changed, 0 insertions, 0 deletions