This is a more appropriate type for the length of an array.
gvwrite(job, buf, len);
}
-void gvprintpointflist(GVJ_t * job, pointf *p, int n)
-{
+void gvprintpointflist(GVJ_t *job, pointf *p, size_t n) {
const char *separator = "";
- for (int i = 0; i < n; ++i) {
+ for (size_t i = 0; i < n; ++i) {
gvputs(job, separator);
gvprintpointf(job, p[i]);
separator = " ";
GVIO_API void gvprintf(GVJ_t * job, const char *format, ...);
GVIO_API void gvprintdouble(GVJ_t * job, double num);
GVIO_API void gvprintpointf(GVJ_t * job, pointf p);
- GVIO_API void gvprintpointflist(GVJ_t * job, pointf *p, int n);
+ GVIO_API void gvprintpointflist(GVJ_t *job, pointf *p, size_t n);
#undef GVIO_API
*************************************************************************/
#include "config.h"
-
+#include <assert.h>
#include <stdlib.h>
#include <string.h>
static void psgen_library_shape(GVJ_t * job, char *name, pointf * A, int n, int filled)
{
+ assert(n >= 0);
if (filled && job->obj->fillcolor.u.HSVA[3] > .5) {
ps_set_color(job, &(job->obj->fillcolor));
gvputs(job, "[ ");
- gvprintpointflist(job, A, n);
+ gvprintpointflist(job, A, (size_t)n);
gvputs(job, " ");
gvprintpointf(job, A[0]);
gvprintf(job, " ] %d true %s\n", n, name);
ps_set_pen_style(job);
ps_set_color(job, &(job->obj->pencolor));
gvputs(job, "[ ");
- gvprintpointflist(job, A, n);
+ gvprintpointflist(job, A, (size_t)n);
gvputs(job, " ");
gvprintpointf(job, A[0]);
gvprintf(job, " ] %d false %s\n", n, name);
*************************************************************************/
#include "config.h"
-
+#include <assert.h>
#include <inttypes.h>
#include <stdarg.h>
#include <stdint.h>
(void)arrow_at_end;
(void)filled;
+ assert(n >= 0);
+
obj_state_t *obj = job->obj;
if (obj->pen != PEN_NONE) {
tkgen_canvas(job);
gvputs(job, " create line ");
- gvprintpointflist(job, A, n);
+ gvprintpointflist(job, A, (size_t)n);
gvputs(job, " -fill ");
tkgen_print_color(job, obj->pencolor);
gvputs(job, " -width ");
static void tkgen_polygon(GVJ_t * job, pointf * A, int n, int filled)
{
+ assert(n >= 0);
+
obj_state_t *obj = job->obj;
if (obj->pen != PEN_NONE) {
tkgen_canvas(job);
gvputs(job, " create polygon ");
- gvprintpointflist(job, A, n);
+ gvprintpointflist(job, A, (size_t)n);
gvputs(job, " -fill ");
if (filled)
tkgen_print_color(job, obj->fillcolor);
static void tkgen_polyline(GVJ_t * job, pointf * A, int n)
{
+ assert(n >= 0);
+
obj_state_t *obj = job->obj;
if (obj->pen != PEN_NONE) {
tkgen_canvas(job);
gvputs(job, " create line ");
- gvprintpointflist(job, A, n);
+ gvprintpointflist(job, A, (size_t)n);
gvputs(job, " -fill ");
tkgen_print_color(job, obj->pencolor);
if (obj->pen == PEN_DASHED)
static void lasi_library_shape(GVJ_t * job, char *name, pointf * A, int n, int filled)
{
+ assert(n >= 0);
if (filled && job->obj->fillcolor.u.HSVA[3] > .5) {
ps_set_color(job, &(job->obj->fillcolor));
gvputs(job, "[ ");
- gvprintpointflist(job, A, n);
+ gvprintpointflist(job, A, (size_t)n);
gvputs(job, " ");
gvprintpointf(job, A[0]);
gvprintf(job, " ] %d true %s\n", n, name);