]> granicus.if.org Git - graphviz/commitdiff
remove no longer necessary setjmp setup in libpack
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 27 Sep 2020 20:57:39 +0000 (13:57 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 4 Oct 2020 18:51:54 +0000 (11:51 -0700)
Related to #1801.

lib/pack/ccomps.c

index a20c91289129ab85cb55599811ecbc6a48ea648d..ec5cf2f05ba066b8048230c9041b2539f62c184d 100644 (file)
 
 #include <ctype.h>
 #include <limits.h>
-#include <setjmp.h>
 #include <stdlib.h>
 #include <common/render.h>
 #include <pack/pack.h>
 
-static jmp_buf jbuf;
-
 #define MARKED(stk,n) ((stk)->markfn(n,-1))
 #define MARK(stk,n)   ((stk)->markfn(n,1))
 #define UNMARK(stk,n) ((stk)->markfn(n,0))
@@ -228,10 +225,6 @@ Agraph_t **pccomps(Agraph_t * g, int *ncc, char *pfx, boolean * pinned)
     for (n = agfstnode(g); n; n = agnxtnode(g, n))
        UNMARK(&stk,n);
 
-    if (setjmp(jbuf)) {
-       error = 1;
-       goto packerror;
-    }
     /* Component with pinned nodes */
     for (n = agfstnode(g); n; n = agnxtnode(g, n)) {
        if (MARKED(&stk,n) || !isPinned(n))
@@ -323,14 +316,6 @@ Agraph_t **ccomps(Agraph_t * g, int *ncc, char *pfx)
     for (n = agfstnode(g); n; n = agnxtnode(g, n))
        UNMARK(&stk,n);
 
-    if (setjmp(jbuf)) {
-       freeStk (&stk);
-       free (ccs);
-       if (name != buffer)
-           free(name);
-       *ncc = 0;
-       return NULL;
-    }
     for (n = agfstnode(g); n; n = agnxtnode(g, n)) {
        if (MARKED(&stk,n))
            continue;
@@ -727,11 +712,6 @@ int isConnected(Agraph_t * g)
     for (n = agfstnode(g); n; n = agnxtnode(g, n))
        UNMARK(&stk,n);
 
-    if (setjmp(jbuf)) {
-       freeStk (&stk);
-       return -1;
-    }
-
     n = agfstnode(g);
     cnt = dfs(g, agfstnode(g), NULL, &stk);
     freeStk (&stk);