From 8617ee754da335dc68bb3e0bc2289e8c5e0343d0 Mon Sep 17 00:00:00 2001 From: rlar Date: Sun, 29 May 2016 11:05:30 +0200 Subject: [PATCH] frontend/interp.c, cleanup `lincopy()' and set v_plot before the vec_new() invocation --- src/frontend/interp.c | 6 +++++- src/frontend/interp.h | 2 +- src/frontend/linear.c | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/frontend/interp.c b/src/frontend/interp.c index dada350b4..c4e6b2886 100644 --- a/src/frontend/interp.c +++ b/src/frontend/interp.c @@ -15,8 +15,11 @@ Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group void -lincopy(struct dvec *ov, double *newscale, int newlen, struct dvec *oldscale) +lincopy(struct plot *new, struct dvec *ov, struct dvec *oldscale) { + int newlen = new->pl_scale->v_length; + double *newscale = new->pl_scale->v_realdata; + struct dvec *v; double *nd; @@ -43,6 +46,7 @@ lincopy(struct dvec *ov, double *newscale, int newlen, struct dvec *oldscale) return; } + v->v_plot = new; vec_new(v); } diff --git a/src/frontend/interp.h b/src/frontend/interp.h index ae6b8f26d..d0c52628a 100644 --- a/src/frontend/interp.h +++ b/src/frontend/interp.h @@ -6,7 +6,7 @@ #ifndef ngspice_INTERP_H #define ngspice_INTERP_H -void lincopy(struct dvec *ov, double *newscale, int newlen, struct dvec *oldscale); +void lincopy(struct plot *new, struct dvec *ov, struct dvec *oldscale); #endif diff --git a/src/frontend/linear.c b/src/frontend/linear.c index 8e8a218f6..50c33a841 100644 --- a/src/frontend/linear.c +++ b/src/frontend/linear.c @@ -81,14 +81,14 @@ com_linearize(wordlist *wl) wl = wl->wl_next; continue; } - lincopy(v, newtime->v_realdata, len, oldtime); + lincopy(new, v, oldtime); wl = wl->wl_next; } } else { for (v = old->pl_dvecs; v; v = v->v_next) { if (v == old->pl_scale) continue; - lincopy(v, newtime->v_realdata, len, oldtime); + lincopy(new, v, oldtime); } } }