From 58788e1491729bd3ddc16d3003c63f86a127e60a Mon Sep 17 00:00:00 2001 From: pnenzi Date: Thu, 2 Oct 2003 16:58:01 +0000 Subject: [PATCH] Fixed segfault when resuming a long-lasting noise analysis. Patch from Vera Albrecht. --- src/spicelib/analysis/noisean.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/spicelib/analysis/noisean.c b/src/spicelib/analysis/noisean.c index 45bbd6f06..7701d131b 100644 --- a/src/spicelib/analysis/noisean.c +++ b/src/spicelib/analysis/noisean.c @@ -10,7 +10,6 @@ Modified: 2001 AlansFixes **********/ #include "ngspice.h" -#include #include "acdefs.h" #include "cktdefs.h" #include "iferrmsg.h" @@ -18,6 +17,7 @@ Modified: 2001 AlansFixes #include "sperror.h" #include "vsrc/vsrcdefs.h" #include "isrc/isrcdefs.h" +#include "src/maths/ni/niniter.h" /* va, NInzIter */ extern int CKTnoise( CKTcircuit *, int, int, Ndata * ); @@ -25,7 +25,10 @@ extern int CKTnoise( CKTcircuit *, int, int, Ndata * ); int NOISEan (CKTcircuit *ckt, int restart) { - Ndata *data; + static Ndata *data; /* va, must be static, for continuation of + * interrupted(Ctrl-C), longer lasting noise + * analysis + */ double realVal; double imagVal; int error; @@ -74,7 +77,7 @@ NOISEan (CKTcircuit *ckt, int restart) } } - if ( (job->NsavFstp == 0) || restart) { + if ( (job->NsavFstp == 0.0) || restart) { /* va, NsavFstp is double */ switch (job->NstpType) {