]> granicus.if.org Git - graphviz/commitdiff
anticipate a -2 return from seg_cmp indicating an error
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 24 Apr 2021 03:09:28 +0000 (20:09 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Fri, 14 May 2021 00:03:36 +0000 (17:03 -0700)
Related to #1801.

lib/ortho/ortho.c

index becbf37a08d247fea3aa89eab41014253bede436..7926b5929a540d1d9ed73734c0bdb7532e487fbf 100644 (file)
@@ -756,9 +756,11 @@ add_edges_in_G(channel* cp)
     for(x=0;x+1<size;x++) {
        for(y=x+1;y<size;y++) {
            int cmp = seg_cmp(seg_list[x],seg_list[y]);
-           if (cmp > 0) {
+           if (cmp == -2) {
+               return -1;
+           } else if (cmp > 0) {
                insert_edge(G,x,y);
-           } else if (cmp < 0) {
+           } else if (cmp == -1) {
                insert_edge(G,y,x);
            }
        }
@@ -868,6 +870,9 @@ decide_point(pair *ret, segment* si, segment* sj, int dir1, int dir2)
        assert(0); /* FIXME */
     else {
        temp = seg_cmp(np1, np2);
+       if (temp == -2) {
+           return -1;
+       }
        prec = propagate_prec(np1, temp, ans+1, 1-dir1);
     }