/* background color + plot label?*/
if (!gr) fprintf(f, "}\n");
-
-
+
+ FREE(sbuff);
}
#if 0
Agraph_t *G;
Agraph_t *prev = 0;
FILE *inFile;
- int rv, gcnt = 0;
+ int rv = 0, gcnt = 0;
#ifdef HAVE_EXPAT
initargs(argc, argv);
list->data = (gl_data *) malloc(size * sizeof(gl_data));
if (list->data == NULL) {
perror("[new_generic_list()] Error allocating memory:");
+ free(list);
return NULL;
}
} else
bufsz = MAX(bufsz*2,n+1);
if ((np = (char*)realloc(buf, bufsz)) == NULL) {
fputs("userout: could not allocate memory\n", stderr );
+ free(buf);
return;
}
+ buf = np;
}
va_end(args);
}
exerror("error cloning edge (%s,%s) from graph %s",
agnameof(agtail(e)), agnameof(aghead(e)),
agnameof(src));
- return;
+ goto done;
}
ep->key = e;
ep->val = ne;
}
}
+done:
dtclose (emap);
free (data);
}
if (flags) {
endg_sfx = strdup (doFlags(flags, tmps));
- if (*endg_sfx == '\0')
+ if (*endg_sfx == '\0') {
+ free(endg_sfx);
endg_sfx = 0;
+ }
}
if (!(initDisc(state)))
static void freeTree (treenode_t* tp)
{
treenode_t* cp = tp->leftchild;
+ treenode_t* rp;
int i, nc = tp->n_children;
for (i = 0; i < nc; i++) {
+ rp = cp->rightsib;
freeTree (cp);
- cp = cp->rightsib;
+ cp = rp;
}
free (tp);
}
graphAdjustMode(g, &am, 0);
#endif
+ pad.x = PS2INCH(DFLT_MARGIN);
+ pad.y = PS2INCH(DFLT_MARGIN);
+
if ((am.mode == AM_PRISM) && doAdjust) {
doAdjust = 0; /* overlap removal done in sfdp */
ctrl->overlap = am.value;
if (sep.doAdd) {
pad.x = PS2INCH(sep.x);
pad.y = PS2INCH(sep.y);
- } else {
- pad.x = PS2INCH(DFLT_MARGIN);
- pad.y = PS2INCH(DFLT_MARGIN);
}
}
else {
val = N_NEW(nedges, real);
}
-
- if (format == FORMAT_COORD){
- A = SparseMatrix_new(i, i, nedges, MATRIX_TYPE_REAL, format);
- A->nz = nedges;
- I = A->ia;
- J = A->ja;
- val = (real*) A->a;
- } else {
- I = N_NEW(nedges, int);
- J = N_NEW(nedges, int);
- val = N_NEW(nedges, real);
- }
-
sym = agattr(g, AGEDGE, "weight", NULL);
if (D) {
symD = agattr(g, AGEDGE, "len", NULL);
(*x)[i*dim+3] = ww;
} else if (dim == 1){
nitems = sscanf(pval, "%lf", &xx);
- if (nitems != 1) return NULL;
+ if (nitems != 1){
+ A = NULL;
+ goto done;
+ }
(*x)[i*dim] = xx;
} else {
assert(0);
if (D) *D = SparseMatrix_from_coordinate_arrays(nedges, nnodes, nnodes, I, J, valD, type, sz);
+done:
if (format != FORMAT_COORD){
FREE(I);
FREE(J);
v->size_of_elem = size_of_elem;
v->deallocator = deallocator;
v->v = malloc(size_of_elem*maxlen);
- if (!v->v) return NULL;
+ if (!v->v){
+ free(v);
+ return NULL;
+ }
return v;
}
us->datasize = statbuf.st_size;
#ifdef HAVE_SYS_MMAN_H
us->data = mmap(0, statbuf.st_size, PROT_READ, MAP_SHARED, fd, 0);
+ if (us->data == MAP_FAILED)
+ us->data = NULL;
#else
us->data = malloc(statbuf.st_size);
read(fd, us->data, statbuf.st_size);
gvprintf(job, " %s\n", buffer); /* print points */
free(buffer);
for (i = 0; i < count; i++) {
- gvprintf(job, " %d", i % (count - 1) ? 1 : 0); /* -1 on all */
+ gvprintf(job, " %d", i % (count + 1) ? 1 : 0); /* -1 on all */
}
gvputs(job, "\n");
}
gvprintf(job, " %s\n", buffer); /* print points */
free(buffer);
for (i = 0; i < count; i++) {
- gvprintf(job, " %d", i % (count - 1) ? 1 : 0); /* -1 on all */
+ gvprintf(job, " %d", i % (count + 1) ? 1 : 0); /* -1 on all */
}
gvputs(job, "\n");
}
us->datasize = statbuf.st_size;
#if HAVE_SYS_MMAN_H
us->data = mmap(0, statbuf.st_size, PROT_READ, MAP_SHARED, fd, 0);
+ if (us->data == MAP_FAILED)
+ us->data = NULL;
#else
us->data = malloc(statbuf.st_size);
read(fd, us->data, statbuf.st_size);