]> granicus.if.org Git - graphviz/commitdiff
remove unnecessary casts of malloc() return value
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Thu, 22 Oct 2020 00:03:54 +0000 (17:03 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Thu, 29 Oct 2020 00:13:11 +0000 (17:13 -0700)
malloc returns a void* which, in C, implicitly coerces to every other pointer
type.

55 files changed:
cmd/smyrna/polytess.c
cmd/smyrna/viewport.c
cmd/tools/bcomps.c
cmd/tools/ccomps.c
cmd/tools/gc.c
cmd/tools/graphml2gv.c
cmd/tools/gv2gxl.c
cmd/tools/gvcolor.c
cmd/tools/gxl2gv.c
cmd/tools/matrix_market.c
cmd/tools/mmio.c
cmd/tools/sccmap.c
cmd/tools/tred.c
contrib/prune/generic_list.c
contrib/prune/prune.c
doc/libgraph/sccmap.c
lib/cdt/dtopen.c
lib/cdt/dtstat.c
lib/cgraph/agerror.c
lib/cgraph/refstr.c
lib/common/routespl.c
lib/glcomp/glcompfont.c
lib/gvpr/actions.c
lib/gvpr/mkdefs.c
lib/ingraphs/ingraphs.c
lib/label/node.c
lib/neatogen/matrix_ops.c
lib/pathplan/route.c
lib/pathplan/shortest.c
lib/pathplan/shortestpth.c
lib/pathplan/util.c
lib/pathplan/visibility.c
lib/rbtree/test_red_black_tree.c
lib/sfio/sfcvt.c
lib/sfio/sfexcept.c
lib/sfio/sfexit.c
lib/sfio/sfmode.c
lib/sfio/sfnew.c
lib/sfio/sfsetbuf.c
lib/sfio/sfswap.c
lib/sfio/sftable.c
lib/sfio/sftmp.c
lib/sfio/sfungetc.c
lib/sfio/sfvprintf.c
lib/sfio/sfvscanf.c
plugin/core/gvrender_core_dot.c
plugin/glitz/gvdevice_glitz.c
plugin/gs/gvloadimage_gs.c
plugin/pango/gvgetfontlist_pango.c
plugin/xlib/gvdevice_xlib.c
tclpkg/tcldot/tcldot-id.c
tclpkg/tclhandle/tclhandle.c
tclpkg/tclpathplan/find_ints.c
tclpkg/tclpathplan/tclpathplan.c
tclpkg/tclpathplan/wrapper.c

index 2727045faaf22116aeedad2a7a3c1d63f3450954..73043503ed7085ee1c7bda7c6869068fa1553a40 100644 (file)
@@ -96,7 +96,7 @@ static void CALLBACK combineCallback(GLdouble coords[3], GLdouble *vertex_data[4
 {
     GLdouble *vertex;
     int i;
-    vertex = (GLdouble *) malloc(6 * sizeof(GLdouble));
+    vertex = malloc(6 * sizeof(GLdouble));
     vertex[0] = coords[0];
     vertex[1] = coords[1];
     vertex[2] = coords[2];
@@ -148,11 +148,11 @@ static int Render_Contour2(GLUtesselator *tobj,sdot_op* p)
     int x=0;
     /* int y=0; */
 
-    d=(GLdouble**) malloc(sizeof(GLdouble)* p->op.u.polygon.cnt);
+    d= malloc(sizeof(GLdouble)* p->op.u.polygon.cnt);
     for (x=0;x < p->op.u.polygon.cnt; x++)
     {
        /* GLdouble temp; */
-       d[x]=(GLdouble*)(malloc(sizeof(GLdouble)*3));
+       d[x]=malloc(sizeof(GLdouble)*3);
        d[x][0]=p->op.u.polygon.pts[x].x;
        d[x][1]=p->op.u.polygon.pts[x].y;
        d[x][2]=p->op.u.polygon.pts[x].z+view->Topview->global_z;
index 964c3bc15d0661fd78c9d9e805a31a9124ad30e5..bb50a1dc7da8f1a0939c4fd39105fd9d7af1882a 100644 (file)
@@ -749,7 +749,7 @@ int add_new_graph_to_viewport(void)
 {
     //returns graph index , otherwise -1
     Agraph_t *graph;
-    graph = (Agraph_t *) malloc(sizeof(Agraph_t));
+    graph = malloc(sizeof(Agraph_t));
     if (graph) {
        view->graphCount = view->graphCount + 1;
        view->g[view->graphCount - 1] = graph;
index 141b354afd5031985acec1e7c3802e4661d30718..584c57fc5bdf93fb6cd0e390445442fe6b10da18 100644 (file)
@@ -97,7 +97,7 @@ static char *blockName(char *gname, int d)
     if (sz > bufsz) {
        if (buf)
            free(buf);
-       buf = (char *) malloc(sz);
+       buf = malloc(sz);
     }
 
     if (*gname == '%') /* anonymous graph */
@@ -124,7 +124,7 @@ static char *getName(int ng, int nb)
     else {
        if (!buf) {
            sz = strlen(outfile) + 100; /* enough to handle '_<g>_<b>' */
-           buf = (char *) malloc(sz);
+           buf = malloc(sz);
        }
        if (suffix) {
            if (nb < 0)
@@ -322,7 +322,7 @@ static void split(char *name)
     if (sfx) {
        size = sfx - name;
        suffix = sfx + 1;
-       path = (char *) malloc(size + 1);
+       path = malloc(size + 1);
        strncpy(path, name, size);
        *(path + size) = '\0';
     } else {
index 270df8d39079459928a4febe69be71ffafed3fbe..76e6c3a029eb5abea349271b312f6684959b2362 100644 (file)
@@ -24,7 +24,7 @@
 #include <cgraph/cgraph.h>
 
 #define N_NEW(n,t)       (t*)calloc((n),sizeof(t))
-#define NEW(t)           (t*)malloc(sizeof(t))
+#define NEW(t)           malloc(sizeof(t))
 
 typedef struct {
     Agrec_t h;
@@ -113,7 +113,7 @@ static void split(char *name)
     if (sfx) {
        suffix = sfx + 1;
        size = sfx - name;
-       path = (char *) malloc(size + 1);
+       path = malloc(size + 1);
        strncpy(path, name, size);
        *(path + size) = '\0';
     } else {
@@ -353,7 +353,7 @@ static char *getName(void)
        name = outfile;
     else {
        if (!buf)
-           buf = (char *) malloc(strlen(outfile) + 20);        /* enough to handle '_number' */
+           buf = malloc(strlen(outfile) + 20); /* enough to handle '_number' */
        if (suffix)
            sprintf(buf, "%s_%d.%s", path, sufcnt, suffix);
        else
@@ -398,7 +398,7 @@ static char *getBuf(int n)
     if (n > len) {
        sz = n + 100;
        if (len == 0)
-           buf = (char *) malloc(sz);
+           buf = malloc(sz);
        else
            buf = (char *) realloc(buf, sz);
        len = sz;
index 70e2bd78ac9e798e6e03fefee0ca5892ba56166c..ce0c2de0d19ef0e5ec112f1b60bcd89f3dfe1362 100644 (file)
@@ -24,7 +24,7 @@
 #endif
 #include <string.h>
 
-#define NEW(t)           (t*)malloc(sizeof(t))
+#define NEW(t)           malloc(sizeof(t))
 #define N_NEW(n,t)       (t*)calloc((n),sizeof(t))
 
 #include <cgraph/cgraph.h>
index f30463f9d9cc56b35440968e7d3cda229988cc36..447b9e4d3c15893501f8eb1eea90bb09239033b1 100644 (file)
@@ -55,7 +55,7 @@ struct slist {
     char buf[1];
 };
 
-#define NEW(t)      (t*)malloc(sizeof(t))
+#define NEW(t)      malloc(sizeof(t))
 #define N_NEW(n,t)  (t*)calloc((n),sizeof(t))
 /* Round x up to next multiple of y, which is a power of 2 */
 #define ROUND2(x,y) (((x) + ((y)-1)) & ~((y)-1))
index 78fac09f07510c5b8f5ae4c82a5d9d5d056b3f75..02bfbbba42bff9005f3b542e3f62be991e4325ec 100644 (file)
@@ -17,7 +17,7 @@
 
 #define SMALLBUF    128
 
-#define NEW(t)      (t*)malloc(sizeof(t))
+#define NEW(t)      malloc(sizeof(t))
 #define N_NEW(n,t)  (t*)calloc((n),sizeof(t))
 #define EMPTY(s)       ((s == 0) || (*s == '\0'))
 #define SLEN(s)     (sizeof(s)-1)
index 62c55507eaa6b70dc4902f55f3abf50e0f204109..f3bea27fbde2a8f0692fb991d01eb60054b00941 100644 (file)
@@ -142,7 +142,7 @@ static void color(Agraph_t * g)
 
     /* assemble the sorted list of nodes and store the initial colors */
     nn = agnnodes(g);
-    nlist = (Agnode_t **) malloc(nn * sizeof(Agnode_t *));
+    nlist = malloc(nn * sizeof(Agnode_t *));
     i = 0;
     for (n = agfstnode(g); n; n = agnxtnode(g, n)) {
        nlist[i++] = n;
index 1cc11feccd32114183fee97078526794b49cff03..0ed306766171c6249f210c2383907c303ad7a67b 100644 (file)
@@ -48,7 +48,7 @@ struct slist {
     char buf[1];
 };
 
-#define NEW(t)      (t*)malloc(sizeof(t))
+#define NEW(t)      malloc(sizeof(t))
 #define N_NEW(n,t)  (t*)calloc((n),sizeof(t))
 /* Round x up to next multiple of y, which is a power of 2 */
 #define ROUND2(x,y) (((x) + ((y)-1)) & ~((y)-1))
index 948b69c7a333fd88adc6ee495d05212cd24bdc2e..1c37c6299e7066bb357c544f025e1b2165071644 100644 (file)
@@ -117,7 +117,7 @@ SparseMatrix SparseMatrix_import_matrix_market(FILE * f, int format)
        type = mm_get_type(matcode);
        switch (type) {
        case MATRIX_TYPE_REAL:
-           val = (real *) malloc(nz * sizeof(real));
+           val = malloc(nz * sizeof(real));
            for (i = 0; i < nz; i++) {
                fscanf(f, "%d %d %lg\n", &I[i], &J[i], &val[i]);
                I[i]--;         /* adjust from 1-based to 0-based */
@@ -153,7 +153,7 @@ SparseMatrix SparseMatrix_import_matrix_market(FILE * f, int format)
            vp = (void *) val;
            break;
        case MATRIX_TYPE_INTEGER:
-           vali = (int *) malloc(nz * sizeof(int));
+           vali = malloc(nz * sizeof(int));
            for (i = 0; i < nz; i++) {
                fscanf(f, "%d %d %d\n", &I[i], &J[i], &vali[i]);
                I[i]--;         /* adjust from 1-based to 0-based */
@@ -209,7 +209,7 @@ SparseMatrix SparseMatrix_import_matrix_market(FILE * f, int format)
            }
            break;
        case MATRIX_TYPE_COMPLEX:
-           val = (real *) malloc(2 * nz * sizeof(real));
+           val = malloc(2 * nz * sizeof(real));
            v = val;
            for (i = 0; i < nz; i++) {
                fscanf(f, "%d %d %lg %lg\n", &I[i], &J[i], &v[0], &v[1]);
index 21bfebf276913341f8088ed23979353104f8a286..2f23d8ecbbc5555deb6cf50c7b4ce9368801bb74 100644 (file)
@@ -71,9 +71,9 @@ int mm_read_unsymmetric_sparse(const char *fname, int *M_, int *N_,
 
     /* reseve memory for matrices */
 
-    I = (int *) malloc(nz * sizeof(int));
-    J = (int *) malloc(nz * sizeof(int));
-    val = (double *) malloc(nz * sizeof(double));
+    I = malloc(nz * sizeof(int));
+    J = malloc(nz * sizeof(int));
+    val = malloc(nz * sizeof(double));
 
     *val_ = val;
     *I_ = I;
@@ -356,18 +356,18 @@ int mm_read_mtx_crd(char *fname, int *M, int *N, int *nz, int **I, int **J,
        return ret_code;
 
 
-    *I = (int *) malloc(*nz * sizeof(int));
-    *J = (int *) malloc(*nz * sizeof(int));
+    *I = malloc(*nz * sizeof(int));
+    *J = malloc(*nz * sizeof(int));
     *val = NULL;
 
     if (mm_is_complex(*matcode)) {
-       *val = (double *) malloc(*nz * 2 * sizeof(double));
+       *val = malloc(*nz * 2 * sizeof(double));
        ret_code = mm_read_mtx_crd_data(f, *M, *N, *nz, *I, *J, *val,
                                        *matcode);
        if (ret_code != 0)
            return ret_code;
     } else if (mm_is_real(*matcode)) {
-       *val = (double *) malloc(*nz * sizeof(double));
+       *val = malloc(*nz * sizeof(double));
        ret_code = mm_read_mtx_crd_data(f, *M, *N, *nz, *I, *J, *val,
                                        *matcode);
        if (ret_code != 0)
index 2bd1f72d26643038a852c32447b3e1d1c80b99da..29ab835daffda0bf6061ecdde74fc13d61f11977 100644 (file)
@@ -89,7 +89,7 @@ typedef struct {
 
 static void initStack(Stack * sp, int sz)
 {
-    sp->data = (Agnode_t **) malloc(sz * sizeof(Agnode_t *));
+    sp->data = malloc(sz * sizeof(Agnode_t *));
     sp->ptr = sp->data;
 }
 
index 84b3e308617ba8e2d7eafafa3bc8c481d39cff2b..3da9ab577105cac525ca6b4a3a6ded860408f64d 100644 (file)
@@ -27,7 +27,7 @@
 #include <common/timing.h>
 #include <stdlib.h>
 
-#define NEW(t)           (t*)malloc(sizeof(t))
+#define NEW(t)           malloc(sizeof(t))
 #define N_NEW(n,t)       (t*)calloc((n),sizeof(t))
 
 typedef struct {
@@ -289,7 +289,7 @@ static void process(Agraph_t * g, estack_t* sp)
     size_t infosize;
 
     infosize = (agnnodes(g)+1)*sizeof(nodeinfo_t);
-    ninfo = (nodeinfo_t*)malloc(infosize);
+    ninfo = malloc(infosize);
 
     if (Verbose)
        fprintf(stderr, "Processing graph %s\n", agnameof(g));
index 422caccbca55cf8f68584ef1cb8d2f96305af8a0..609cef7846c528f2811216c9b09a9528639a146b 100644 (file)
@@ -25,13 +25,13 @@ generic_list_t *new_generic_list(uint64_t size)
 {
     generic_list_t *list;
 
-    list = (generic_list_t *) malloc(sizeof(generic_list_t));
+    list = malloc(sizeof(generic_list_t));
     if (list == NULL) {
        perror("[new_generic_list()] Error allocating memory:");
        return NULL;
     }
     if (size != 0) {
-       list->data = (gl_data *) malloc(size * sizeof(gl_data));
+       list->data = malloc(size * sizeof(gl_data));
        if (list->data == NULL) {
            perror("[new_generic_list()] Error allocating memory:");
            free(list);
index fa6e1b11aa5d5e32c8582141af7fc7e34b7a0921..a244e2fdd46d0c6dd4de6c705f2fa3770a6e20ec 100644 (file)
@@ -263,7 +263,7 @@ generic_list_t *addattr(generic_list_t * l, char *a)
     char *p;
     strattr_t *sp;
 
-    sp = (strattr_t *) malloc(sizeof(strattr_t));
+    sp = malloc(sizeof(strattr_t));
     if (sp == NULL) {
        perror("[addattr()->malloc()]");
        exit(EXIT_FAILURE);
index 8cd895726d5f88d3dce48b710a12cbf78cddc9c1..e5334294b54175a416176313bb44931b27190c1c 100644 (file)
@@ -49,7 +49,7 @@ typedef struct {
 
 static void initStack(Stack * sp, int sz)
 {
-       sp->data = (Agnode_t **) malloc(sz * sizeof(Agnode_t *));
+       sp->data = malloc(sz * sizeof(Agnode_t *));
        sp->ptr = sp->data;
 }
 
index 0ea5f18b6b2b51724ed65cb440954d7f759cb01b..03d4aa620b66429b152dbc02ecd3862e8cdda5e1 100644 (file)
@@ -15,7 +15,7 @@ Dt_t* dtopen(Dtdisc_t* disc, Dtmethod_t* meth)
                return NIL(Dt_t*);
 
        /* allocate space for dictionary */
-       if(!(dt = (Dt_t*) malloc(sizeof(Dt_t))))
+       if(!(dt = malloc(sizeof(Dt_t))))
                return NIL(Dt_t*);
 
        /* initialize all absolutely private data */
index a5196ce204e5f2449e7b148bc6b302bff518f79d..8f25d6042be9126be29d7aaac4bcbe7cec4b65a6 100644 (file)
@@ -56,7 +56,7 @@ int dtstat(Dt_t* dt, Dtstat_t* ds, int all)
                if(ds->dt_max+1 > Size)
                {       if(Size > 0)
                                free(Count);
-                       if(!(Count = (int*)malloc((ds->dt_max+1)*sizeof(int))) )
+                       if(!(Count = malloc((ds->dt_max+1)*sizeof(int))) )
                                return -1;
                        Size = ds->dt_max+1;
                }
@@ -70,7 +70,7 @@ int dtstat(Dt_t* dt, Dtstat_t* ds, int all)
                        if(ds->dt_n+1 > Size)
                        {       if(Size > 0)
                                        free(Count);
-                               if(!(Count = (int*)malloc((ds->dt_n+1)*sizeof(int))) )
+                               if(!(Count = malloc((ds->dt_n+1)*sizeof(int))) )
                                        return -1;
                                Size = ds->dt_n+1;
                        }
index 865e3919827ea6e869122d0ca8c8cb12b9eecb6c..0b4c2af058d5378dcd62fd63870db946881bdce4 100644 (file)
@@ -49,7 +49,7 @@ char *aglasterr()
     fflush(agerrout);
     endpos = ftell(agerrout);
     len = endpos - aglast;
-    buf = (char*)malloc(len + 1);
+    buf = malloc(len + 1);
     fseek(agerrout, aglast, SEEK_SET);
     fread(buf, sizeof(char), len, agerrout);
     buf[len] = '\0';
@@ -70,7 +70,7 @@ userout (agerrlevel_t level, const char *fmt, va_list args)
     int n;
 
     if (!buf) {
-       buf = (char*)malloc(bufsz);
+       buf = malloc(bufsz);
        if (!buf) {
            fputs("userout: could not allocate memory\n", stderr );
            return;
index 8c52b4742eaadfb520e909844b0fcb4650d60ff7..07d4d3bd0bdb74514e8e2739a42e775bbd0e6654 100644 (file)
@@ -107,7 +107,7 @@ char *agstrdup(Agraph_t * g, char *s)
        if (g)
            r = (refstr_t *) agalloc(g, sz);
        else
-           r = (refstr_t *) malloc(sz);
+           r = malloc(sz);
        r->refcnt = 1;
        strcpy(r->store, s);
        r->s = r->store;
@@ -133,7 +133,7 @@ char *agstrdup_html(Agraph_t * g, char *s)
        if (g)
            r = (refstr_t *) agalloc(g, sz);
        else
-           r = (refstr_t *) malloc(sz);
+           r = malloc(sz);
        r->refcnt = 1 | HTML_BIT;
        strcpy(r->store, s);
        r->s = r->store;
index b7d8ca6608c725f78ab83332564d7bb7f9cd1498..8fe8c7cb78488fbd7dd4f2097dc3f093737e8e3a 100644 (file)
@@ -906,10 +906,10 @@ typedef struct _tag_vec
 
 static vec* vec_new(void)
 {
-    vec* pvec = (vec*)malloc(sizeof(vec));
+    vec* pvec = malloc(sizeof(vec));
     pvec->_capelems = 10;
     pvec->_elems = 0;
-    pvec->_mem = (void**)malloc(pvec->_capelems * sizeof(void*));
+    pvec->_mem = malloc(pvec->_capelems * sizeof(void*));
     return pvec;
 }
 
@@ -964,10 +964,10 @@ static boolean vec_contains(vec* pvec, void* item)
 
 static vec* vec_copy(vec* pvec)
 {
-    vec* nvec = (vec*)malloc(sizeof(vec));
+    vec* nvec = malloc(sizeof(vec));
     nvec->_capelems = pvec->_capelems;
     nvec->_elems = pvec->_elems;
-    nvec->_mem = (void**)malloc(pvec->_capelems * sizeof(void*));
+    nvec->_mem = malloc(pvec->_capelems * sizeof(void*));
        memcpy(nvec->_mem, pvec->_mem, pvec->_elems * sizeof(void*));
     return nvec;
 }
index 2ef74c3ad641ded90f6599e435e864a5f2ecacee..91f7ca966364012e3025625d627ddafdf26b958f 100644 (file)
@@ -194,7 +194,7 @@ void glDeleteFont(glCompFont * f)
 
 glCompFont *glNewFont (glCompSet * s, char *text, glCompColor * c,glCompFontType type, char *fontdesc, int fs,int is2D)
 {
-    glCompFont *font = (glCompFont*) malloc(sizeof(glCompFont));
+    glCompFont *font = malloc(sizeof(glCompFont));
     font->reference = 0;
     font->color.R = c->R;
     font->color.G = c->G;
index 82ba8757805d78214a82c005df6d00e3d0af17d7..7509b6e336f483c97bc6a259b37717d5e656cbfb 100644 (file)
@@ -318,7 +318,7 @@ static void cloneGraph(Agraph_t * tgt, Agraph_t * src)
     Agraph_t *sg;
     char* name;
     Dt_t* emap = dtopen (&edgepair, Dtoset);
-    edgepair_t* data = (edgepair_t*)malloc(sizeof(edgepair_t)*agnedges(src));
+    edgepair_t* data = malloc(sizeof(edgepair_t)*agnedges(src));
     edgepair_t* ep = data;
 
     for (t = agfstnode(src); t; t = agnxtnode(src, t)) {
index 0b1993f5b9b01025038bfecd268a2ef2ba2479bc..91887bd0806eede5cc6cb55881f6fb1490f94092 100644 (file)
@@ -70,7 +70,7 @@ static record *newRec(record * curr)
 {
     record *newr;
 
-    newr = (record *) malloc(sizeof(record));
+    newr = malloc(sizeof(record));
     if (!newr) {
        fprintf(stderr, "mkdefs: out of memory, line %d\n", lineno);
        exit(1);
index bab9bc60bacec565daedfb7739e502b3a9fd4839..dada29963068932a2b56961379be769d2870d29a 100644 (file)
@@ -95,7 +95,7 @@ static ingraph_state*
 new_ing(ingraph_state * sp, char **files, Agraph_t** graphs, ingdisc * disc)
 {
     if (!sp) {
-       sp = (ingraph_state *) malloc(sizeof(ingraph_state));
+       sp = malloc(sizeof(ingraph_state));
        if (!sp) {
            fprintf(stderr, "ingraphs: out of memory\n");
            return 0;
@@ -114,7 +114,7 @@ new_ing(ingraph_state * sp, char **files, Agraph_t** graphs, ingdisc * disc)
     sp->ctr = 0;
     sp->errors = 0;
     sp->fp = NULL;
-    sp->fns = (ingdisc *) malloc(sizeof(ingdisc));
+    sp->fns = malloc(sizeof(ingdisc));
     if (!sp->fns) {
        fprintf(stderr, "ingraphs: out of memory\n");
        if (sp->heap)
index f9602c4000ea8c12ae42d23652627ea9baf8c506..75f44551fe795de787a596a233df2d9a9fd814df 100644 (file)
@@ -24,7 +24,7 @@ Node_t *RTreeNewNode(RTree_t * rtp)
     Node_t *n;
 
     rtp->NodeCount++;
-    n = (Node_t *) malloc(sizeof(Node_t));
+    n = malloc(sizeof(Node_t));
     InitNode(n);
     return n;
 }
index 83f84e3bd238cc942bda6e2699cae958a2d74f76..2c24178aa862f7cda67c0fc77a96f378911fe340 100644 (file)
@@ -154,8 +154,8 @@ mult_dense_mat(double **A, float **B, int dim1, int dim2, int dim3,
        storage = (float *) realloc(C[0], dim1 * dim3 * sizeof(A[0]));
        *CC = C = (float **) realloc(C, dim1 * sizeof(A));
     } else {
-       storage = (float *) malloc(dim1 * dim3 * sizeof(A[0]));
-       *CC = C = (float **) malloc(dim1 * sizeof(A));
+       storage = malloc(dim1 * dim3 * sizeof(A[0]));
+       *CC = C = malloc(dim1 * sizeof(A));
     }
 
     for (i = 0; i < dim1; i++) {
@@ -190,8 +190,8 @@ mult_dense_mat_d(double **A, float **B, int dim1, int dim2, int dim3,
        storage = (double *) realloc(C[0], dim1 * dim3 * sizeof(double));
        *CC = C = (double **) realloc(C, dim1 * sizeof(double *));
     } else {
-       storage = (double *) malloc(dim1 * dim3 * sizeof(double));
-       *CC = C = (double **) malloc(dim1 * sizeof(double *));
+       storage = malloc(dim1 * dim3 * sizeof(double));
+       *CC = C = malloc(dim1 * sizeof(double *));
     }
 
     for (i = 0; i < dim1; i++) {
@@ -229,8 +229,8 @@ mult_sparse_dense_mat_transpose(vtx_data * A, double **B, int dim1,
        storage = (float *) realloc(C[0], dim1 * dim2 * sizeof(A[0]));
        *CC = C = (float **) realloc(C, dim1 * sizeof(A));
     } else {
-       storage = (float *) malloc(dim1 * dim2 * sizeof(A[0]));
-       *CC = C = (float **) malloc(dim1 * sizeof(A));
+       storage = malloc(dim1 * dim2 * sizeof(A[0]));
+       *CC = C = malloc(dim1 * sizeof(A));
     }
 
     for (i = 0; i < dim1; i++) {
index 9e080122100f9faa99f05920ec0b8ca0f5679192..699fd2d5132e0377b4afe2dec95d0d120b5b9ec3 100644 (file)
@@ -519,7 +519,7 @@ static void growops(int newopn)
     if (newopn <= opn)
        return;
     if (!ops) {
-       if (!(ops = (Ppoint_t *) malloc(POINTSIZE * newopn))) {
+       if (!(ops = malloc(POINTSIZE * newopn))) {
            prerror("cannot malloc ops");
            longjmp(jbuf,1);
        }
index 58428abc231ea2e9dea0496173113a0fe89568d1..598db265735cb952b269cf6186dcfd9210f45cf0 100644 (file)
@@ -513,11 +513,11 @@ static void growpnls(int newpnln)
     if (newpnln <= pnln)
        return;
     if (!pnls) {
-       if (!(pnls = (pointnlink_t *) malloc(POINTNLINKSIZE * newpnln))) {
+       if (!(pnls = malloc(POINTNLINKSIZE * newpnln))) {
            prerror("cannot malloc pnls");
            longjmp(jbuf,1);
        }
-       if (!(pnlps = (pointnlink_t **) malloc(POINTNLINKPSIZE * newpnln))) {
+       if (!(pnlps = malloc(POINTNLINKPSIZE * newpnln))) {
            prerror("cannot malloc pnlps");
            longjmp(jbuf,1);
        }
@@ -542,7 +542,7 @@ static void growtris(int newtrin)
     if (newtrin <= trin)
        return;
     if (!tris) {
-       if (!(tris = (triangle_t *) malloc(TRIANGLESIZE * newtrin))) {
+       if (!(tris = malloc(TRIANGLESIZE * newtrin))) {
            prerror("cannot malloc tris");
            longjmp(jbuf,1);
        }
@@ -562,8 +562,7 @@ static void growdq(int newdqn)
        return;
     if (!dq.pnlps) {
        if (!
-           (dq.pnlps =
-            (pointnlink_t **) malloc(POINTNLINKPSIZE * newdqn))) {
+           (dq.pnlps = malloc(POINTNLINKPSIZE * newdqn))) {
            prerror("cannot malloc dq.pnls");
            longjmp(jbuf,1);
        }
@@ -583,7 +582,7 @@ static void growops(int newopn)
     if (newopn <= opn)
        return;
     if (!ops) {
-       if (!(ops = (Ppoint_t *) malloc(POINTSIZE * newopn))) {
+       if (!(ops = malloc(POINTSIZE * newopn))) {
            prerror("cannot malloc ops");
            longjmp(jbuf,1);
        }
index a79e660f3386adc1407328b509a2d5f0540deca8..9e071251b8420a3110e4768c9a6037c373dea922 100644 (file)
@@ -37,8 +37,8 @@ static int *shortestPath(int root, int target, int V, array2 wadj)
     int k, t;
 
     /* allocate arrays */
-    dad = (int *) malloc(V * sizeof(int));
-    vl = (COORD *) malloc((V + 1) * sizeof(COORD));    /* One extra for sentinel */
+    dad = malloc(V * sizeof(int));
+    vl = malloc((V + 1) * sizeof(COORD));      /* One extra for sentinel */
     val = vl + 1;
 
     /* initialize arrays */
@@ -99,7 +99,7 @@ int *makePath(Ppoint_t p, int pp, COORD * pvis,
     int V = conf->N;
 
     if (directVis(p, pp, q, qp, conf)) {
-       int *dad = (int *) malloc(sizeof(int) * (V + 2));
+       int *dad = malloc(sizeof(int) * (V + 2));
        dad[V] = V + 1;
        dad[V + 1] = -1;
        return dad;
index 01844d47de4e0cb9fb34bd10a80bc2304a1688e6..616f53b487345344c7ea95e27ed8238d49054188 100644 (file)
@@ -16,7 +16,7 @@
 #include <stdlib.h>
 #include <pathplan/pathutil.h>
 
-#define ALLOC(size,ptr,type) (ptr? (type*)realloc(ptr,(size)*sizeof(type)):(type*)malloc((size)*sizeof(type)))
+#define ALLOC(size,ptr,type) (ptr? (type*)realloc(ptr,(size)*sizeof(type)):malloc((size)*sizeof(type)))
 
 Ppoly_t copypoly(Ppoly_t argpoly)
 {
index 6549b333f5d710f72d866cf1132e26ecfa98e93a..3a7ecdb91ffac47c2cf683462d6e4a6412a5d434 100644 (file)
@@ -34,7 +34,7 @@ static array2 allocArray(int V, int extra)
     array2 arr;
     COORD *p;
 
-    arr = (COORD **) malloc((V + extra) * sizeof(COORD *));
+    arr = malloc((V + extra) * sizeof(COORD *));
     p = (COORD *) calloc(V * V, sizeof(COORD));
     for (i = 0; i < V; i++) {
        arr[i] = p;
@@ -344,7 +344,7 @@ COORD *ptVis(vconfig_t * conf, int pp, Ppoint_t p)
     Ppoint_t pk;
     COORD d;
 
-    vadj = (COORD *) malloc((V + 2) * sizeof(COORD));
+    vadj = malloc((V + 2) * sizeof(COORD));
 
 
     if (pp == POLYID_UNKNOWN)
index b8ac7405720f1a582039dca1062f5ab63e29a274..60231fe87e13adefec36bc3dbb3e2c83b01fd3bc 100644 (file)
@@ -60,7 +60,7 @@ int main() {
        {
          printf("type key for new node\n");
          scanf("%i",&newKey);
-         newInt=(int*) malloc(sizeof(int));
+         newInt= malloc(sizeof(int));
          *newInt=newKey;
          RBTreeInsert(tree,newInt,0);
        }
index d57da2f20e5cebc92046816439ff3252708c3493..ed0357828741da07877e6aa488e0f0689f5314bc 100644 (file)
@@ -38,7 +38,7 @@ char *_sfcvt(void * dv, int n_digit, int *decpt, int *sign, int format)
     static char *Buf;
 
     /* set up local buffer */
-    if (!Buf && !(Buf = (char *) malloc(SF_MAXDIGITS)))
+    if (!Buf && !(Buf = malloc(SF_MAXDIGITS)))
        return SF_INFINITE;
 
     *sign = *decpt = 0;
index 8607506389492cfaa7498ac59dcfec13bedc488f..69e6ea3f2e1ec7ed76e8764bd8a8f226596cf9f4 100644 (file)
@@ -74,7 +74,7 @@ int _sfexcept(Sfio_t * f, int type, ssize_t io, Sfdisc_t * disc)
            if (f->size > 0)
                data = (uchar *) realloc((char *) f->data, size);
            else
-               data = (uchar *) malloc(size);
+               data = malloc(size);
            if (!data)
                goto chk_stack;
            f->endb = data + size;
index de63d5b52310e665986214f4cf91b7ded2ae23de..cb45ce1ace8e97c8b093ea87af475682ebb05545 100644 (file)
@@ -68,7 +68,7 @@ waitpid(int pid, int *status, int options)
            return pid;
        }
 
-       if (!(w = (Waitpid_t *) malloc(sizeof(Waitpid_t))))
+       if (!(w = malloc(sizeof(Waitpid_t))))
            continue;
 
        w->pid = id;
index b90c193f7346865aa532769b3d515c231596b1a9..a582320ee4efdd56e0a1400656d487fa986d32f3 100644 (file)
@@ -105,7 +105,7 @@ int _sfsetpool(Sfio_t * f)
            p->sf = p->array;
        } else {                /* allocate a larger array */
            n = (p->sf != p->array ? p->s_sf : (p->s_sf / 4 + 1) * 4) + 4;
-           if (!(array = (Sfio_t **) malloc(n * sizeof(Sfio_t *))))
+           if (!(array = malloc(n * sizeof(Sfio_t *))))
                goto done;
 
            /* move old array to new one */
@@ -137,7 +137,7 @@ Sfrsrv_t *_sfrsrv(Sfio_t * f, ssize_t size)
     /* make buffer if nothing yet */
     size = ((size + SF_GRAIN - 1) / SF_GRAIN) * SF_GRAIN;
     if (!(rsrv = f->rsrv) || size > rsrv->size) {
-       if (!(rs = (Sfrsrv_t *) malloc(size + sizeof(Sfrsrv_t))))
+       if (!(rs = malloc(size + sizeof(Sfrsrv_t))))
            size = -1;
        else {
            if (rsrv) {
@@ -177,7 +177,7 @@ int _sfpopen(Sfio_t * f, int fd, int pid, int stdio)
     if (f->proc)
        return 0;
 
-    if (!(p = f->proc = (Sfproc_t *) malloc(sizeof(Sfproc_t))))
+    if (!(p = f->proc = malloc(sizeof(Sfproc_t))))
        return -1;
 
     p->pid = pid;
@@ -256,7 +256,7 @@ static int _sfpmode(Sfio_t * f, int type)
        if (p->ndata > p->size) {
            if (p->rdata)
                free((char *) p->rdata);
-           if ((p->rdata = (uchar *) malloc(p->ndata)))
+           if ((p->rdata = malloc(p->ndata)))
                p->size = p->ndata;
            else {
                p->size = 0;
index 7bc8f403975ac37436e0006da54194047f0fb68c..05171fa2a2cf56d257ae08c7f2b4667a177c075d 100644 (file)
@@ -75,7 +75,7 @@ Sfio_t *sfnew(Sfio_t * oldf, void * buf, size_t size, int file,
        }
 
        if (!f) {
-           if (!(f = (Sfio_t *) malloc(sizeof(Sfio_t))))
+           if (!(f = malloc(sizeof(Sfio_t))))
                return NIL(Sfio_t *);
            SFCLEAR(f);
        }
index 183b5833a846a9b7b628f7bd28b5734d399e3423..a2db25021ec687b495507e855d1cf71361397f16 100644 (file)
@@ -236,7 +236,7 @@ void *sfsetbuf(Sfio_t * f, void * buf, size_t size)
        }
        if (!buf) {             /* do allocation */
            while (!buf && size > 0) {
-               if ((buf = (void *) malloc(size)))
+               if ((buf = malloc(size)))
                    break;
                else
                    size /= 2;
index dbb083fd66a846fe4cbe62627e9f0ed6b5c45686..a607a5f04dfc8191b6aea7fbb626b6b493dfc818 100644 (file)
@@ -48,7 +48,7 @@ Sfio_t *sfswap(Sfio_t * f1, Sfio_t * f2)
            f1->file == 1 ? sfstdout :
            f1->file == 2 ? sfstderr : NIL(Sfio_t *);
        if ((!f2 || !(f2->mode & SF_AVAIL))) {
-           if (!(f2 = (Sfio_t *) malloc(sizeof(Sfio_t)))) {
+           if (!(f2 = malloc(sizeof(Sfio_t)))) {
                f1->mode = f1mode;
                SFOPEN(f1, 0);
                return NIL(Sfio_t *);
index 4e60141d465b738c062f4f5d9a131ff8f35c671a..f70c476c4bec46a2eb19fc7194dd18a309fd89cd 100644 (file)
@@ -282,7 +282,7 @@ static Fmtpos_t *sffmtpos(Sfio_t * f, const char *form, va_list args,
 
     if (!fp) {                 /* constructing position array only */
        if (!dollar
-           || !(fp = (Fmtpos_t *) malloc((maxp + 1) * sizeof(Fmtpos_t))))
+           || !(fp = malloc((maxp + 1) * sizeof(Fmtpos_t))))
            return NIL(Fmtpos_t *);
        for (n = 0; n <= maxp; ++n)
            fp[n].ft.fmt = 0;
index 63ce5ff152c3851184b4b2334469e90fcda65395..6ef7d3d03379b7a0b75477fbb2bcc3e7778b285c 100644 (file)
@@ -30,9 +30,9 @@ char **_sfgetpath(char *path)
        while (*p && *p != ':') /* skip dir name */
            ++p;
     }
-    if (n == 0 || !(dirs = (char **) malloc((n + 1) * sizeof(char *))))
+    if (n == 0 || !(dirs = malloc((n + 1) * sizeof(char *))))
        return NIL(char **);
-    if (!(p = (char *) malloc(strlen(path) + 1))) {
+    if (!(p = malloc(strlen(path) + 1))) {
        free(dirs);
        return NIL(char **);
     }
index 5f0f68f6be160e51db8b980f0ee51d7bc2c7fd13..add8a1962767e56daf9769a50a4793c37a841177 100644 (file)
@@ -72,7 +72,7 @@ int sfungetc(Sfio_t * f, int c)
        uchar *data;
        if (f->size < 0)
            f->size = 0;
-       if (!(data = (uchar *) malloc(f->size + 16))) {
+       if (!(data = malloc(f->size + 16))) {
            c = -1;
            goto done;
        }
index 3c34974c5d53a52b102a348f15c010a62dc8f0ab..217ea7b5390aa38481514f771c552a9c5d0ff643 100644 (file)
@@ -461,7 +461,7 @@ int sfvprintf(Sfio_t * f, const char *form, va_list args)
                    continue;
                fmstk->ft = ft = argv.ft;
            } else {            /* stack a new environment */
-               if (!(fm = (Fmt_t *) malloc(sizeof(Fmt_t))))
+               if (!(fm = malloc(sizeof(Fmt_t))))
                    goto done;
 
                if (argv.ft->form) {
index 2ba6b182df707143d8f784200e1b59ba2591ea8a..7707d184cb6094be99f93622f8637a68f59c2230 100644 (file)
@@ -439,7 +439,7 @@ int sfvscanf(Sfio_t * f, const char *form, va_list args)
                    continue;
                fmstk->ft = ft = argv.ft;
            } else {            /* stack a new environment */
-               if (!(fm = (Fmt_t *) malloc(sizeof(Fmt_t))))
+               if (!(fm = malloc(sizeof(Fmt_t))))
                    goto done;
 
                if (argv.ft->form) {
index 3574ab23a5047b62477ea19af764a9286ff65e8a..98a63174fb3dc2c2a4a542a049b1289041eee706 100644 (file)
@@ -31,7 +31,7 @@
 #include <common/utils.h>
 #include <gvc/gvio.h>
 
-#define GNEW(t)          (t*)malloc(sizeof(t))
+#define GNEW(t)          malloc(sizeof(t))
 
 /* #define NEW_XDOT */
 
index b69423bfffb5e2fc91757592220e39d4ef31c5c3..8058b5cd3c06764d23ccd919974e8b709f427ade 100644 (file)
@@ -278,7 +278,7 @@ static void init_window(GVJ_t *job, Display *dpy, int scr)
     char *name;
     window_t *window;
 
-    window = (window_t *)malloc(sizeof(window_t));
+    window = malloc(sizeof(window_t));
     if (window == NULL) {
        fprintf(stderr, "Failed to malloc window_t\n");
        return;
@@ -453,7 +453,7 @@ static void glitz_initialize(GVJ_t *firstjob)
     firstjob->display = (void*)dpy;
     firstjob->screen = scr;
 
-    keycodes = (KeyCode *)malloc(firstjob->numkeys * sizeof(KeyCode));
+    keycodes = malloc(firstjob->numkeys * sizeof(KeyCode));
     if (keycodes == NULL) {
         fprintf(stderr, "Failed to malloc %d*KeyCode\n", firstjob->numkeys);
         return;
index 417087b15aa6deb1b665d64b7b18a856d008ddb6..e8c8399791c40c9be94f4f5cafc05e9964d3c00f 100644 (file)
@@ -181,7 +181,7 @@ static cairo_pattern_t* gvloadimage_gs_load(GVJ_t * job, usershape_t *us)
        }
     }
     if (!gs) {
-       gs = (gs_t *)malloc(sizeof(gs_t));
+       gs = malloc(sizeof(gs_t));
        if (!gs) {
            job->common->errorfn("malloc() failure\n");
            return NULL;
index 1f16e702a91a0f0d3be2e8eb4be7b9ed3f10bc89..ec99cf21e5c174f34c6968fd20f23535263bc947 100644 (file)
@@ -245,7 +245,7 @@ typedef struct {
     int faces;
 } availfont_t;
 
-#define NEW(t)          (t*)malloc(sizeof(t))
+#define NEW(t)          malloc(sizeof(t))
 #define N_NEW(n,t)      (t*)calloc((n),sizeof(t))
 
 static PostscriptAlias postscript_alias[] = {
index 55219b10d2caaf7422bfb04ad86a37b4a1b24270..3f1a9bf0cf20067b08f819d346104f91f8002e33 100644 (file)
@@ -272,7 +272,7 @@ static void init_window(GVJ_t *job, Display *dpy, int scr)
     int w, h;
     double zoom_to_fit;
 
-    window = (window_t *)malloc(sizeof(window_t));
+    window = malloc(sizeof(window_t));
     if (window == NULL) {
        fprintf(stderr, "Failed to malloc window_t\n");
        return;
@@ -473,7 +473,7 @@ static void xlib_initialize(GVJ_t *firstjob)
     firstjob->display = (void*)dpy;
     firstjob->screen = scr;
 
-    keycodes = (KeyCode *)malloc(firstjob->numkeys * sizeof(KeyCode));
+    keycodes = malloc(firstjob->numkeys * sizeof(KeyCode));
     if (keycodes == NULL) {
         fprintf(stderr, "Failed to malloc %d*KeyCode\n", firstjob->numkeys);
         return;
index 096b2b318e094b8f10d8fe3ca9568cb93775b73b..fce9a7424c5b33d44b4d162284d9ee669158ce24 100644 (file)
@@ -19,7 +19,7 @@ static void *myiddisc_open(Agraph_t *g, Agdisc_t *disc) {
     ictx_t *ictx = (ictx_t *)disc;
     gctx_t *gctx;
 
-    gctx = (gctx_t *)malloc(sizeof(gctx_t));
+    gctx = malloc(sizeof(gctx_t));
     gctx->g = g;
     gctx->ictx = ictx;
     return (void *)gctx;
index 65eea83a8538be1c6c5c0931c9ef37b595e8205a..f0faa01c733bd0226bd3a1bff5c58c170b33d922 100644 (file)
@@ -101,7 +101,7 @@ static void tclhandleExpandTable(tblHeader_pt tblHdrPtr, int neededIdx)
     newSize =
        (tblHdrPtr->tableSize + numNewEntries) * tblHdrPtr->entrySize;
 
-    tblHdrPtr->bodyPtr = (ubyte_pt) malloc(newSize);
+    tblHdrPtr->bodyPtr = malloc(newSize);
     memcpy(tblHdrPtr->bodyPtr, oldbodyPtr,
           (tblHdrPtr->tableSize * tblHdrPtr->entrySize));
     tclhandleLinkInNewEntries(tblHdrPtr, tblHdrPtr->tableSize,
@@ -176,7 +176,7 @@ tblHeader_pt tclhandleInit(char *prefix, int entrySize, int initEntries)
     /*
      * Set up the table entry.
      */
-    tblHdrPtr = (tblHeader_pt) malloc(sizeof(tblHeader_t));
+    tblHdrPtr = malloc(sizeof(tblHeader_t));
 
     /* 
      * Calculate entry size, including header, rounded up to sizeof (void *). 
@@ -184,11 +184,10 @@ tblHeader_pt tclhandleInit(char *prefix, int entrySize, int initEntries)
     tblHdrPtr->entrySize = ENTRY_HEADER_SIZE + ROUND_ENTRY_SIZE(entrySize);
     tblHdrPtr->freeHeadIdx = NULL_IDX;
     tblHdrPtr->tableSize = initEntries;
-    tblHdrPtr->handleFormat = (char *) malloc(strlen(prefix) + 4);
+    tblHdrPtr->handleFormat = malloc(strlen(prefix) + 4);
     strcpy(tblHdrPtr->handleFormat, prefix);
     strcat(tblHdrPtr->handleFormat, "%lu");
-    tblHdrPtr->bodyPtr =
-       (ubyte_pt) malloc(initEntries * tblHdrPtr->entrySize);
+    tblHdrPtr->bodyPtr = malloc(initEntries * tblHdrPtr->entrySize);
     tclhandleLinkInNewEntries(tblHdrPtr, 0, initEntries);
 
     return tblHdrPtr;
@@ -249,8 +248,7 @@ int tclhandleReset(tblHeader_pt tblHdrPtr, int initEntries)
     free(tblHdrPtr->bodyPtr);
     tblHdrPtr->freeHeadIdx = NULL_IDX;
     tblHdrPtr->tableSize = initEntries;
-    tblHdrPtr->bodyPtr =
-       (ubyte_pt) malloc(initEntries * tblHdrPtr->entrySize);
+    tblHdrPtr->bodyPtr = malloc(initEntries * tblHdrPtr->entrySize);
     tclhandleLinkInNewEntries(tblHdrPtr, 0, initEntries);
 
     return TCL_OK;
index e56628b60d6312043df0de1fa32551c86d5729bb..1296c952475afdfefd18f90071b8597985942e10 100644 (file)
@@ -34,8 +34,7 @@ void find_ints(struct vertex vertex_list[],
     all.first = all.final = NIL;
     all.number = 0;
 
-    pvertex = (struct vertex **)
-       malloc((input->nvertices) * sizeof(struct vertex *));
+    pvertex = malloc((input->nvertices) * sizeof(struct vertex *));
 
     for (i = 0; i < input->nvertices; i++)
        pvertex[i] = vertex_list + i;
@@ -57,9 +56,7 @@ void find_ints(struct vertex vertex_list[],
                     j++, tempa = tempa->next)
                    find_intersection(tempa->name, templ, ilist, input);        /* test */
 
-               new =
-                   (struct active_edge *)
-                   malloc(sizeof(struct active_edge));
+               new = malloc(sizeof(struct active_edge));
                if (all.number == 0) {
                    all.first = new;
                    new->last = NIL;
index 8caf370136afd2e3d25dfedfe543477ddfe45021..1e0cc20a0909554322710cad60182a5792607e84 100644 (file)
@@ -889,7 +889,7 @@ vgpane(ClientData clientData, Tcl_Interp * interp, int argc, char *argv[])
     char vbuf[30];
     vgpane_t *vgp;
 
-    vgp = (vgpane_t *) malloc(sizeof(vgpane_t));
+    vgp = malloc(sizeof(vgpane_t));
     *(vgpane_t **) tclhandleAlloc(vgpaneTable, vbuf, NULL) = vgp;
 
     vgp->vc = (vconfig_t *) 0;
index e72263516710e045f81767fced3c0fcdb2e1d3c2..295f97e481e15a4339d782e2a2cbce3383b528c4 100644 (file)
@@ -41,8 +41,8 @@ int main(int argc, char **argv)
 {
     Ppoly_t polys[2], *polys_ptr[2];
 
-    polys[0].ps = (Ppoint_t *) malloc(3 * sizeof(Ppoint_t));
-    polys[1].ps = (Ppoint_t *) malloc(3 * sizeof(Ppoint_t));
+    polys[0].ps = malloc(3 * sizeof(Ppoint_t));
+    polys[1].ps = malloc(3 * sizeof(Ppoint_t));
     polys[0].pn = 3;
     polys[1].pn = 3;
 
@@ -101,14 +101,12 @@ int Plegal_arrangement(Ppoly_t ** polys, int n_polys)
     struct data input;
     struct intersection ilist[10000];
 
-    polygon_list = (struct polygon *)
-       malloc(n_polys * sizeof(struct polygon));
+    polygon_list = malloc(n_polys * sizeof(struct polygon));
 
     for (i = nverts = 0; i < n_polys; i++)
        nverts += polys[i]->pn;
 
-    vertex_list = (struct vertex *)
-       malloc(nverts * sizeof(struct vertex));
+    vertex_list = malloc(nverts * sizeof(struct vertex));
 
     for (i = vno = 0; i < n_polys; i++) {
        polygon_list[i].start = &vertex_list[vno];