]> granicus.if.org Git - graphviz/commitdiff
abbreviate computation of len_swidth in gvmap
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 6 Mar 2021 02:05:08 +0000 (18:05 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Tue, 16 Mar 2021 02:25:47 +0000 (19:25 -0700)
C99 semantics allow us to avoid using an intermediate buffer for this operation.

cmd/gvmap/make_map.c

index dac318208a4cfe0cdd7c53000286cba19d9e67eb..4e2ed2631ab4f85c0c345c31971650d59f58845d 100644 (file)
@@ -323,8 +323,7 @@ static void dot_polygon(char **sbuff, int *len, int *len_max, int np, float *xp,
     } else {/* line*/
       assert(line_width >= 0);
       if (line_width > 0){
-       sprintf(swidth,"%f",line_width);
-       len_swidth = strlen(swidth);
+       len_swidth = (size_t)snprintf(NULL, 0, "%f", line_width);
        sprintf(swidth,"S %zu -setlinewidth(%f)",len_swidth+14, line_width);
        ret += snprintf(NULL, 0, " c %zu -%s %s L %d ", strlen(cstring), cstring, swidth, np);
       } else {