]> granicus.if.org Git - graphviz/commitdiff
replace 1-byte strstr calls with strchr
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Fri, 16 Jul 2021 03:44:04 +0000 (20:44 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 18 Jul 2021 20:53:56 +0000 (13:53 -0700)
This change has no effect on functionality, but strchr is cheaper to call and
equivalent to these strstr calls. This likely makes no difference in an
optimized build as modern compilers can see this transformation is possible
themselves. However, this change may assist older compilers or accelerate
unoptimized builds.

lib/edgepaint/edge_distinct_coloring.c
lib/edgepaint/lab.c
lib/gvc/gvrender.c
plugin/gd/gvrender_gd.c
plugin/gd/gvtextlayout_gd.c

index 97744139535915eb7f0addc32671c8bed0497601..48fa75777d0d8f4ad5d09f23d60e084aa12f84de 100644 (file)
@@ -9,6 +9,7 @@
  *************************************************************************/
 #include <sparse/general.h>
 #include <math.h>
+#include <string.h>
 #include <time.h>
 #include <sparse/SparseMatrix.h>
 #include <edgepaint/node_distinct_coloring.h>
@@ -69,7 +70,7 @@ static int splines_intersect(int dim, int u1, int v1, int u2, int v2,
       ns1++;
     }
     iter1++;
-    xsplines1 = strstr(xsplines1, " ");
+    xsplines1 = strchr(xsplines1, ' ');
     if (!xsplines1) break;
     xsplines1++;
     if (ns1*dim >= len1){
@@ -107,7 +108,7 @@ static int splines_intersect(int dim, int u1, int v1, int u2, int v2,
       ns2++;
     }
     iter2++;
-    xsplines2 = strstr(xsplines2, " ");
+    xsplines2 = strchr(xsplines2, ' ');
     if (!xsplines2) break;
     xsplines2++;
     if (ns2*dim >= len2){
index f2bb2b3b4d5f9a41443c1e1373404a03af8e740b..63f3495154add9241d1a151c0ade27619f0d4aa2 100644 (file)
@@ -13,6 +13,7 @@
 #include <math.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <sparse/color_palette.h>
 #include <edgepaint/lab_gamut.h>
 
@@ -233,7 +234,7 @@ void color_blend_rgb2lab(char *color_list, const int maxpoints, double **colors0
   if (maxpoints <= 0) return;
 
   cl = color_list;
-  while ((cl=strstr(cl, ",")) != NULL){
+  while ((cl=strchr(cl, ',')) != NULL){
     cl++; nc++;
   }
   lab = malloc(sizeof(color_lab)*MAX(nc,1));
@@ -245,7 +246,7 @@ void color_blend_rgb2lab(char *color_list, const int maxpoints, double **colors0
     if (sscanf(cl,"#%02X%02X%02X", &r, &g, &b) != 3) break;
     rgb.r = r; rgb.g = g; rgb.b = b;
     lab[nc++] = RGB2LAB(rgb);
-  } while ((cl=strstr(cl, ",")) != NULL);
+  } while ((cl=strchr(cl, ',')) != NULL);
 
   dists = malloc(sizeof(double)*MAX(1, nc));
   dists[0] = 0;
index 1773c48285ed9b26b2984f4088d4d56dde0038f7..2d1219dc751e51a639c825fbb9220c9ea35ddc97 100644 (file)
@@ -458,7 +458,7 @@ void gvrender_set_pencolor(GVJ_t * job, char *name)
     gvcolor_t *color = &(job->obj->pencolor);
     char *cp = NULL;
 
-    if ((cp = strstr(name, ":")))      /* if its a color list, then use only first */
+    if ((cp = strchr(name, ':')))      /* if its a color list, then use only first */
        *cp = '\0';
     if (gvre) {
        gvrender_resolve_color(job->render.features, name, color);
@@ -475,7 +475,7 @@ void gvrender_set_fillcolor(GVJ_t * job, char *name)
     gvcolor_t *color = &(job->obj->fillcolor);
     char *cp = NULL;
 
-    if ((cp = strstr(name, ":")))      /* if its a color list, then use only first */
+    if ((cp = strchr(name, ':')))      /* if its a color list, then use only first */
        *cp = '\0';
     if (gvre) {
        gvrender_resolve_color(job->render.features, name, color);
index 9822eae38824d7450d005944ec80ba4b76de8bef..d2dc9a4cd31b6cbb0c72b1fcd651293354ec13da 100644 (file)
@@ -297,7 +297,7 @@ void gdgen_text(gdImagePtr im, pointf spf, pointf epf, int fontcolor, double fon
     strex.flags = gdFTEX_RESOLUTION;
     strex.hdpi = strex.vdpi = fontdpi;
 
-    if (strstr(fontname, "/"))
+    if (strchr(fontname, '/'))
         strex.flags |= gdFTEX_FONTPATHNAME;
     else
         strex.flags |= gdFTEX_FONTCONFIG;
index 21a7506f4566d61308ad56c5a1e3f3a7178ede59..727aab928bcdb14e3a7c3d0f607a3d17497abfc6 100644 (file)
@@ -127,7 +127,7 @@ static boolean gd_textlayout(textspan_t * span, char **fontpath)
     strex.flags = gdFTEX_RETURNFONTPATHNAME | gdFTEX_RESOLUTION;
     strex.hdpi = strex.vdpi = POINTS_PER_INCH;
 
-    if (strstr(fontname, "/"))
+    if (strchr(fontname, '/'))
        strex.flags |= gdFTEX_FONTPATHNAME;
     else
        strex.flags |= gdFTEX_FONTCONFIG;