com_plot.c, plug memory leaks in com_clip()
This commit is contained in:
parent
c3c7adf099
commit
52b70515bb
|
|
@ -31,17 +31,30 @@ com_bltplot(wordlist *wl)
|
||||||
void
|
void
|
||||||
com_clip(wordlist *wl)
|
com_clip(wordlist *wl)
|
||||||
{
|
{
|
||||||
struct pnode *names;
|
struct pnode *names, *delnames;
|
||||||
struct dvec *vec;
|
struct dvec *vec;
|
||||||
double xmin, xmax;
|
double xmin, xmax;
|
||||||
char *vecname = wl->wl_word;
|
char *vecname = wl->wl_word;
|
||||||
wl = wl->wl_next;
|
wl = wl->wl_next;
|
||||||
names = ft_getpnames(wl, TRUE);
|
delnames = names = ft_getpnames(wl, TRUE);
|
||||||
vec = ft_evaluate(names);
|
vec = ft_evaluate(names);
|
||||||
|
if (!vec) {
|
||||||
|
fprintf(cp_err, "Error: Cannot evaluate xmin for %s.\n No clipping done!\n", vecname);
|
||||||
|
return;
|
||||||
|
}
|
||||||
xmin = vec->v_realdata[0];
|
xmin = vec->v_realdata[0];
|
||||||
|
if (names->pn_value == NULL)
|
||||||
|
vec_free(vec);
|
||||||
names = names->pn_next;
|
names = names->pn_next;
|
||||||
vec = ft_evaluate(names);
|
vec = ft_evaluate(names);
|
||||||
|
if (!vec) {
|
||||||
|
fprintf(cp_err, "Error: Cannot evaluate xmax for %s.\n No clipping done!\n", vecname);
|
||||||
|
return;
|
||||||
|
}
|
||||||
xmax = vec->v_realdata[0];
|
xmax = vec->v_realdata[0];
|
||||||
|
if (names->pn_value == NULL)
|
||||||
|
vec_free(vec);
|
||||||
vec_clip(vecname, xmin, xmax);
|
vec_clip(vecname, xmin, xmax);
|
||||||
|
free_pnode(delnames);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue