From 516b1c1e481947b32f5bf81ae47fc0616dcc4bb3 Mon Sep 17 00:00:00 2001 From: Eric Smith Date: Jun 13 2014 02:37:39 +0000 Subject: Fix FTBFS #1037042 and revert to compat-guile18. --- diff --git a/drgeo-1.1.0-format-security.patch b/drgeo-1.1.0-format-security.patch new file mode 100644 index 0000000..9c3843c --- /dev/null +++ b/drgeo-1.1.0-format-security.patch @@ -0,0 +1,85 @@ +--- a/drgeo-1.1.0-format-security.patch ++++ a/drgeo-1.1.0-format-security.patch +@@ -0,0 +1,82 @@ ++These are actually arrays of string literals, but there doesn't seem to ++be a way of convincing gcc of that ++ ++--- a/geo/drgeo_postscriptdrawable.cc +++++ b/geo/drgeo_postscriptdrawable.cc ++@@ -130,8 +130,8 @@ drgeoPostScriptDrawable::drawPoint (drgeoStyle & style, drgeoPoint & point) ++ p = areaToPostScript (point); ++ ++ /* we're initializing color and line width */ ++- fprintf (fileHandle, postscriptColor[style.color]); ++- fprintf (fileHandle, postscriptLineWidth[drgeoThicknessNormal + 1]); +++ fprintf (fileHandle, "%s", postscriptColor[style.color]); +++ fprintf (fileHandle, "%s", postscriptLineWidth[drgeoThicknessNormal + 1]); ++ ++ switch (style.pointShape) ++ { ++@@ -207,9 +207,9 @@ drawPolygon (drgeoStyle & style, drgeoPoint * point, gint number) ++ gint nb; ++ ++ /* we're initializing color and line width */ ++- fprintf (fileHandle, postscriptColor[style.color]); +++ fprintf (fileHandle, "%s", postscriptColor[style.color]); ++ /* Invisible line. */ ++- fprintf (fileHandle, postscriptLineWidth[0]); +++ fprintf (fileHandle, "%s", postscriptLineWidth[0]); ++ ++ fprintf (fileHandle, "%%Polygon\nnewpath\n"); ++ ++@@ -235,11 +235,11 @@ drawSegment (drgeoStyle & style, drgeoPoint & start, drgeoPoint & end) ++ p2 = areaToPostScript (end); ++ p1 = areaToPostScript (start); ++ ++- fprintf (fileHandle, postscriptColor[style.color]); +++ fprintf (fileHandle, "%s", postscriptColor[style.color]); ++ if (style.mask == yes) ++- fprintf (fileHandle, postscriptLineWidth[0]); +++ fprintf (fileHandle, "%s", postscriptLineWidth[0]); ++ else ++- fprintf (fileHandle, postscriptLineWidth[style.thick + 1]); +++ fprintf (fileHandle, "%s", postscriptLineWidth[style.thick + 1]); ++ fprintf (fileHandle, ++ "%% Segment\n%f %f moveto %f %f lineto stroke\n", ++ p1.getX () * PostScriptScale, p1.getY () * PostScriptScale, ++@@ -263,11 +263,11 @@ drawCircle (drgeoStyle & style, drgeoPoint & center, double radius) ++ drgeoPoint p; ++ ++ p = areaToPostScript (center); ++- fprintf (fileHandle, postscriptColor[style.color]); +++ fprintf (fileHandle, "%s", postscriptColor[style.color]); ++ if (style.mask == yes) ++- fprintf (fileHandle, postscriptLineWidth[0]); +++ fprintf (fileHandle, "%s", postscriptLineWidth[0]); ++ else ++- fprintf (fileHandle, postscriptLineWidth[style.thick + 1]); +++ fprintf (fileHandle, "%s", postscriptLineWidth[style.thick + 1]); ++ fprintf (fileHandle, ++ /* is there a better way to draw a circle in ps ? */ ++ "%% Circle\n%f %f moveto %f %f %f 0 360 arc closepath stroke\n", ++@@ -285,11 +285,11 @@ drawArc (drgeoStyle & style, drgeoPoint & center, double radius, ++ drgeoPoint p, startPoint; ++ ++ p = areaToPostScript (center); ++- fprintf (fileHandle, postscriptColor[style.color]); +++ fprintf (fileHandle, "%s", postscriptColor[style.color]); ++ if (style.mask == yes) ++- fprintf (fileHandle, postscriptLineWidth[0]); +++ fprintf (fileHandle, "%s", postscriptLineWidth[0]); ++ else ++- fprintf (fileHandle, postscriptLineWidth[style.thick + 1]); +++ fprintf (fileHandle, "%s", postscriptLineWidth[style.thick + 1]); ++ ++ ++ ++@@ -336,7 +336,7 @@ drawText (drgeoPoint & where, char *text, drgeoColorType fontColor) ++ // FIXME: how to handle this correctly ? ++ convString = g_convert (text, -1, "iso8859-1", "utf-8", NULL, NULL, NULL); ++ ++- fprintf (fileHandle, postscriptColor[fontColor]); +++ fprintf (fileHandle, "%s", postscriptColor[fontColor]); ++ /* The size of the font is arbitrary : 10 points */ ++ fprintf (fileHandle, ++ "%% Text\n/Times findfont 10 scalefont setfont %f %f moveto (%s) show\n",