]> granicus.if.org Git - graphviz/commitdiff
fix a "dereferencing type-punned pointer will break strict-aliasing rules" warning
authorellson <devnull@localhost>
Wed, 24 May 2006 14:44:12 +0000 (14:44 +0000)
committerellson <devnull@localhost>
Wed, 24 May 2006 14:44:12 +0000 (14:44 +0000)
lib/gd/fontwheeltest.c

index b552b6a9ccad0196c4132ff673afe258a6789954..b8e4f59ae4aefca6ee466e96e359b52620b22707 100644 (file)
@@ -22,6 +22,8 @@ dowheel (gdImagePtr im, int color, char *fontfile, int fontsize,
        double angle, int x, int y, int offset, char *string)
 {
   int brect[8];
+  gdPoint points[4];
+  int i;
   FILE *err;
   double curangrads, curang, x0, y0;
   char *cp;
@@ -49,7 +51,15 @@ dowheel (gdImagePtr im, int color, char *fontfile, int fontsize,
       if (cp)
        doerr (err, cp);
 
-      gdImagePolygon (im, (gdPointPtr)brect, 4, color);
+      /* FIXME - this is silly, but if we try to cast int[] to gdPointPtr
+       * we get a "warning: dereferencing type-punned pointer will break strict -aliasing rules" from gcc
+       * The proper fix probably requires an API change to use gdPoint[] in gdImageString*
+       */
+      for (i = 0; i < 4; i++) {
+       points[i].x = brect[2*i];
+       points[i].y = brect[2*i + 1];
+      }
+      gdImagePolygon (im, points, 4, color);
     }
 
   fclose (err);