summaryrefslogtreecommitdiff
path: root/source/luametatex/source/mp/mpc/mp.c
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2023-01-24 15:11:58 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2023-01-24 15:11:58 +0100
commitb47e8c2cdeeab0bcdb1c4c32328c933f3f8599de (patch)
tree8e32282155744f2b0a812eff2fe88bbc919a70b4 /source/luametatex/source/mp/mpc/mp.c
parent0caec226a633182402b349c3ac5b3bf9e0bc76c2 (diff)
downloadcontext-b47e8c2cdeeab0bcdb1c4c32328c933f3f8599de.tar.gz
2023-01-24 13:50:00
Diffstat (limited to 'source/luametatex/source/mp/mpc/mp.c')
-rw-r--r--source/luametatex/source/mp/mpc/mp.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/luametatex/source/mp/mpc/mp.c b/source/luametatex/source/mp/mpc/mp.c
index d171e07a6..2d0320868 100644
--- a/source/luametatex/source/mp/mpc/mp.c
+++ b/source/luametatex/source/mp/mpc/mp.c
@@ -9028,11 +9028,21 @@ static mp_knot mp_path_intersection(MP mp, mp_knot h, mp_knot hh, int path, mp_k
number_add(nn, unity_t);
ll = pp;
pp = mp_next_knot(pp);
+if (pp != hh && mp_knotstate(pp) == mp_end_knot) {
+ number_add(nn, unity_t);
+ ll = pp;
+ pp = mp_next_knot(pp);
+}
} while (pp != hh);
}
number_add(n, unity_t);
l = p;
p = mp_next_knot(p);
+if (p != hh && mp_knotstate(p) == mp_end_knot) {
+ number_add(n, unity_t);
+ l = p;
+ p = mp_next_knot(p);
+}
} while (p != h);
mp->tol_step = mp->tol_step + 3;
if (done) {