chart: Fix format string issues in chart_write_title callers.
[pspp-builds.git] / src / output / charts / piechart.c
index aeac555c261fcd3ea563febdd1bbaddacccd787c..aa52f99e9d1560e7a1e95552dff4deb28f4e6e71 100644 (file)
@@ -74,7 +74,7 @@ piechart_plot(const char *title, const struct slice *slices, int n_slices)
                            );
 
 
-  chart_write_title(ch, title);
+  chart_write_title(ch, "%s", title);
 
   for (i = 0 ; i < n_slices ; ++i )
     total_magnetude += slices[i].magnetude;
@@ -96,7 +96,7 @@ piechart_plot(const char *title, const struct slice *slices, int n_slices)
       draw_segment(ch,
                   centre_x, centre_y, radius,
                   angle, segment_angle,
-                  data_colour[i]);
+                  data_colour[i % N_CHART_COLOURS]);
 
       /* Now add the labels */
       if ( label_x < centre_x )
@@ -104,7 +104,7 @@ piechart_plot(const char *title, const struct slice *slices, int n_slices)
          pl_line_r(ch->lp, label_x, label_y,
                    left_label, label_y );
          pl_moverel_r(ch->lp,0,5);
-         pl_alabel_r(ch->lp,0,0,slices[i].label);
+         pl_alabel_r (ch->lp, 0, 0, ds_cstr (&slices[i].label));
        }
       else
        {
@@ -113,7 +113,7 @@ piechart_plot(const char *title, const struct slice *slices, int n_slices)
                    right_label, label_y
                    );
          pl_moverel_r(ch->lp,0,5);
-         pl_alabel_r(ch->lp,'r',0,slices[i].label);
+         pl_alabel_r (ch->lp, 'r', 0, ds_cstr (&slices[i].label));
        }
 
       angle += segment_angle;