]> granicus.if.org Git - graphviz/commitdiff
remove a use of sfstropen in GVPR
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 3 Jan 2021 01:49:25 +0000 (17:49 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 7 Mar 2021 20:32:21 +0000 (12:32 -0800)
Related to #1873.

lib/gvpr/actions.c

index ce4bb2997087c559b973cf61aee308e2542c84d7..0f939dbab3e13f56ac2363ddb03ba9b9a8d1a51e 100644 (file)
@@ -22,6 +22,7 @@
 #include <string.h>
 #include <stdio.h>
 #include <ctype.h>
+#include <cgraph/agxbuf.h>
 #include <cgraph/strcasecmp.h>
 
 #define KINDS(p) ((AGTYPE(p) == AGRAPH) ? "graph" : (AGTYPE(p) == AGNODE) ? "node" : "edge")
@@ -701,20 +702,20 @@ char *readLine(Expr_t * ex, int fd)
 {
     Sfio_t *sp;
     int c;
-    Sfio_t *tmps;
+    agxbuf tmps;
     char *line;
 
     if (fd < 0 || fd >= elementsof(ex->file) || !((sp = ex->file[fd]))) {
        exerror("readL: %d: invalid descriptor", fd);
        return "";
     }
-    tmps = sfstropen();
+    agxbinit(&tmps, 0, NULL);
     while ((c = sfgetc(sp)) > 0 && c != '\n')
-       sfputc(tmps, c);
+       agxbputc(&tmps, c);
     if (c == '\n')
-       sfputc(tmps, c);
-    line = exstring(ex, sfstruse(tmps));
-    sfclose(tmps);
+       agxbputc(&tmps, c);
+    line = exstring(ex, agxbuse(&tmps));
+    agxbfree(&tmps);
     return line;
 }