summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/path.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/path.cc')
-rw-r--r--Build/source/utils/asymptote/path.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/Build/source/utils/asymptote/path.cc b/Build/source/utils/asymptote/path.cc
index 6fa9c1f5634..dce0cef63c5 100644
--- a/Build/source/utils/asymptote/path.cc
+++ b/Build/source/utils/asymptote/path.cc
@@ -346,10 +346,16 @@ path path::subpath(Int a, Int b) const
}
if (!cycles) {
- if (a < 0)
+ if (a < 0) {
a = 0;
- if (b > n-1)
+ if(b < 0)
+ b = 0;
+ }
+ if (b > n-1) {
b = n-1;
+ if(a > b)
+ a = b;
+ }
}
Int sn = b-a+1;
@@ -411,8 +417,8 @@ path path::subpath(double a, double b) const
}
if (b > n-1) {
b = n-1;
- if (a > n-1)
- a = n-1;
+ if (a > b)
+ a = b;
}
aL = nodes[(Int)floor(a)];
aR = nodes[(Int)ceil(a)];