]> granicus.if.org Git - graphviz/commitdiff
common mkDirlist: switch to cgraph allocation helpers
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 16 Jul 2022 17:20:05 +0000 (10:20 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Fri, 22 Jul 2022 00:41:58 +0000 (17:41 -0700)
These have the advantage of zeroing newly allocated memory, leaving the caller
one fewer thing to worry about.

lib/common/utils.c

index ec1fb2cd9a505d3fab66d3e07b2584695f9cf811..0cfe3a7880047479cf788ccefd8f6de0d58d8217 100644 (file)
@@ -9,6 +9,7 @@
  *************************************************************************/
 
 #include <common/render.h>
+#include <cgraph/alloc.h>
 #include <cgraph/agxbuf.h>
 #include <cgraph/strview.h>
 #include <cgraph/tokenize.h>
@@ -323,16 +324,15 @@ char *Fgets(FILE * fp)
 
 static strview_t *mkDirlist(const char *list, size_t *maxdirlen) {
     size_t cnt = 0;
-    strview_t *dirs = NULL;
+    strview_t *dirs = gv_calloc(1, sizeof(strview_t));
     size_t maxlen = 0;
 
     for (tok_t t = tok(list, PATHSEP); !tok_end(&t); tok_next(&t)) {
         strview_t dir = tok_get(&t);
-        dirs = ALLOC(cnt + 2, dirs, strview_t);
+        dirs = gv_recalloc(dirs, cnt + 1, cnt + 2, sizeof(strview_t));
         dirs[cnt++] = dir;
         maxlen = MAX(maxlen, dir.size);
     }
-    dirs[cnt] = (strview_t){0};
     *maxdirlen = maxlen;
     return dirs;
 }