Skip to content
Snippets Groups Projects
Commit f4e97def authored by Luigi Scarso's avatar Luigi Scarso
Browse files

fix prev pointer mess up in pseudo lines/files (HH)

parent 4f0bc08c
No related branches found
No related tags found
No related merge requests found
......@@ -28,10 +28,10 @@
#define TeX
int luatex_version = 87; /* \.{\\luatexversion} */
int luatex_revision = '2'; /* \.{\\luatexrevision} */
int luatex_date_info = 2016011100; /* the compile date is now hardwired */
const char *luatex_version_string = "beta-0.87.2";
int luatex_version = 88; /* \.{\\luatexversion} */
int luatex_revision = '0'; /* \.{\\luatexrevision} */
int luatex_date_info = 2016011500; /* the compile date is now hardwired */
const char *luatex_version_string = "beta-0.88.0";
const char *engine_name = my_name; /* the name of this engine */
#include <kpathsea/c-ctype.h>
......
......@@ -662,6 +662,15 @@ a linked list of variable size nodes representing lines not yet
processed: the |subtype| field contains the size of this node,
all the following words contain ASCII codes.
/*
hh: todo: if this is really critical code (which it isn't) then we can
consider a c stack and store a pointer to a line in the line node instead
which saves splitting here and reconstructing later.
*/
@c
halfword pseudo_files; /* stack of pseudo files */
......@@ -696,13 +705,12 @@ static halfword string_to_pseudo(str_number str, int nl)
w.b2 = (quarterword) (l > m ? s[m++] : ' ');
w.b3 = (quarterword) (l > m ? s[m] : ' ');
varmem[++i].qqqq = w;
if (pseudo_lines(h) == null) {
if (q == null) {
pseudo_lines(h) = r;
q = r;
} else {
couple_nodes(q, r);
vlink(q) = r ; /* no prev node here so no couple_nodes !*/
}
q = vlink(q);
q = r ;
if (s[l] == nl)
l++;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment