Browse Source

Applied vera patches and updated Changelog.

pre-master-46
pnenzi 23 years ago
parent
commit
78ad27c858
  1. 182
      ChangeLog
  2. 51
      src/frontend/vectors.c
  3. 16
      src/main.c

182
ChangeLog

@ -1,109 +1,135 @@
2003-07-18 Vera Albrecht <albrecht@danalyse.de>
2003-07-25 Paolo Nenzi <p.nenzi@ieee.org>
* src/{main.c,tclspice.c}
src/frontend/{Makefile.am,control.c,control.h,display.c,dotcards.c,
hcomp.c,hpgl.c,outitf.c,parse.c,postcoms.c,postsc.c,runcoms.c,
spiceif.c,variable.c,variable.h,parser/complete.c,plotting/pvec.c}
src/include/{cktdefs.h,ngspice.h}
src/misc/{ivars.c,string.c,stringutil.h}
src/spicelib/analysis/{acan.c,ckt.h,dcop.c}
src/spicelib/devices/bsim3/b3temp.c
src/spicelib/parser/{ifnewuid.c,inp2dot.c,inperror.c} :
Memory leaks and some WINDOWS compile fixes.
* src/main.c: Studied Vera's main.d and introduced changes
following her advices.
* src/frontend/vectors.c: Applied Vera patch.
2003-07-23 Paolo Nenzi <p.nenzi@ieee.org>
* A lot of changes that touched too many files to mention each one.
I have introduced the xspice code into ngspice. I take xspice code
from tclspice (0.2.12). Since tclspice started as a branch of
ngspice, I have applied the patches developed for it that correcting
some bugs common to tclspice and ngspice. What follows is the
extract of tclspice Changelog file that describes the changes:
2003-07-18 Vera Albrecht <albrecht@danalyse.de>
2003-07-17 Stefan Jones <stefan.jones@multigig.com>
* src/{main.c,tclspice.c}
src/frontend/{Makefile.am,control.c,control.h,display.c,
dotcards.c, hcomp.c,hpgl.c,outitf.c,parse.c,postcoms.c,
postsc.c,runcoms.c, spiceif.c,variable.c,variable.h,
parser/complete.c,plotting/pvec.c}
src/include/{cktdefs.h,ngspice.h}
src/misc/{ivars.c,string.c,stringutil.h}
src/spicelib/analysis/{acan.c,ckt.h,dcop.c}
src/spicelib/devices/bsim3/b3temp.c
src/spicelib/parser/{ifnewuid.c,inp2dot.c,inperror.c} :
Memory leaks and some WINDOWS compile fixes.
* src/frontend/{subckt.c,vectors.c}
src/spicelib/analysis/dctran.c
src/spicelib/parser/inperror.c
src/xspice/idn/idndig.c src/xspice/mif/mif_inp2.c :
More memory leak fixes
2003-07-17 Stefan Jones <stefan.jones@multigig.com>
* configure.in src/xspice/xspice.c :
Fix compile problems with garbage collector
* src/frontend/{subckt.c,vectors.c}
src/spicelib/analysis/dctran.c
src/spicelib/parser/inperror.c
src/xspice/idn/idndig.c src/xspice/mif/mif_inp2.c :
More memory leak fixes
* configure.in :
Change --enable-tcl to --with-tcl[=dir] for non-std
install setup.
* configure.in src/xspice/xspice.c :
Fix compile problems with garbage collector
2003-07-17 Steven Borley <sjb@salix.demon.co.uk>
* src/frontend/resource.c src/frontend/parser/complete.c
src/spicelib/devices/txl/txlload.c :
#ifdef fixes to get ngspice to compile on Mac OSX
2003-07-17 Steven Borley <sjb@salix.demon.co.uk>
2003-07-16 Vera Albrecht <albrecht@danalyse.de>
src/spicelib/devices/txl/txlload.c :
Fixed duplicate declaration of pool_vi_txl
* frontend/{device.c,parse.c,vectors.c,com_compose.c} :
More memory leaks closed in utility commands and functions.
2003-07-16 Vera Albrecht <albrecht@danalyse.de>
2003-07-16 Stefan Jones <stefan.jones@multigig.com>
* frontend/{device.c,parse.c,vectors.c,com_compose.c} :
More memory leaks closed in utility commands and functions.
* src/frontend/{com_compose.c,cpitf.c,device.c,subckt.c,vectors.c}
src/frontend/plotting/plotit.c src/include/ngspice.h
src/spicelib/parser/{inp2dot.c,inp2r.c,inpdomod.c,inpdpar.c,inpgmod.c,inppas3.c} :
Rest of the serious deck reader leaks, plus fixes for the last batch.
2003-07-16 Stefan Jones <stefan.jones@multigig.com>
2003-07-15 Stefan Jones <stefan.jones@multigig.com>
* src/frontend/{com_compose.c,cpitf.c,device.c,subckt.c,
vectors.c}
src/frontend/plotting/plotit.c src/include/ngspice.h
src/spicelib/parser/{inp2dot.c,inp2r.c,inpdomod.c,inpdpar.c,
inpgmod.c,inppas3.c} :
Rest of the serious deck reader leaks, plus fixes for the
last batch.
* /src/frontend/{com_let.c,com_set.c,evaluate.c,parse.c,variable.c}
src/frontend/parser/complete.c :
Memory leaks plugged
2003-07-15 Stefan Jones <stefan.jones@multigig.com>
2003-04-14 Stefan Jones <stefan.jones@multigig.com>
* /src/frontend/{com_let.c,com_set.c,evaluate.c,parse.c,
variable.c}
src/frontend/parser/complete.c :
Memory leaks plugged
* Make all the devices in src/spicelib/devices be built as
archives not shared libraries, and don't install them
2003-04-14 Stefan Jones <stefan.jones@multigig.com>
2003-06-22 Stuart Brorson <sdb@cloud9.net>
* Make all the devices in src/spicelib/devices be built
as archives not shared libraries, and don't install them
2003-06-22 Stuart Brorson <sdb@cloud9.net>
* Finally got SPICE2 POLY stuff working. This involved lots of changes
in src/xspice/mif and src/xspice/enh. Particular changes were made in:
-- MIF_INP2A: re-arranged logic to fix parsing problems.
-- two2three_translate: fixed some stupid pointer problems.
-- etc.
* Finally got SPICE2 POLY stuff working. This involved
lots of changes in src/xspice/mif and src/xspice/enh.
Particular changes were made in:
-- MIF_INP2A: re-arranged logic to fix parsing problems.
-- two2three_translate: fixed some stupid pointer problems.
-- etc.
* Revamped src/xspice/icm/ and src/xspice/icm/icm_spice2poly
directories to enable build of POLY codemodel. Makefiles were
fixed, and some stuff was added to enable cmpp (from SPICE Opus)
to build the codemodel precursors correctly. (Note that you need
to download and install SPICE Opus to rebuild the codemodel
stuff. See src/xspice/icm/README for more details.)
* Revamped src/xspice/icm/ and src/xspice/icm/icm_spice2poly
directories to enable build of POLY codemodel.
Makefiles were fixed, and some stuff was added to enable
cmpp (from SPICE Opus) to build the codemodel precursors
correctly. (Note that you need to download and install
SPICE Opus to rebuild the codemodel stuff. See
src/xspice/icm/README for more details.)
* Hacked Makefile.am's for much of the directory hierarchy, particularly
for src/xspice/icm and src/xspice/icm/icm_spice2poly to build the POLY
codemodel correctly. Note that top level make still doesn't detect
changes in the xspice hierarchy; read the NOTES file for a workaround.
* Hacked Makefile.am's for much of the directory hierarchy,
particularly for src/xspice/icm and
src/xspice/icm/icm_spice2poly to build the POLY codemodel
correctly. Note that top level make still doesn't detect
changes in the xspice hierarchy; read the NOTES file for
a workaround.
* Added a SPICE netlist incorporating vendor models with SPICE2
POLYs in tests/TransImpedanceAmp/. Running this model
successfully demonstrates that you have built the XSpice POLY
codemodel correctly and that life is good . . . .
* Added a SPICE netlist incorporating vendor models with
SPICE2 POLYs in tests/TransImpedanceAmp/. Running this
model successfully demonstrates that you have built the
XSpice POLY codemodel correctly and that life is good
. . . .
* Moved #define TRACE out of src/ngspice.h and made it a compiler
option (-DTRACE) invoked in src/Makefile when making spice.o.
* Moved #define TRACE out of src/ngspice.h and made it
a compiler option (-DTRACE) invoked in src/Makefile when
making spice.o.
2003-05-02 Stuart Brorson <sdb@cloud9.net>
2003-05-02 Stuart Brorson <sdb@cloud9.net>
* Added #define TRACE to main.c for use in debugging. Added lots
of printf's in the code which are turned on by defining TRACE.
This is used to help figure out what the program is doing at each
step . . . . .
* Added #define TRACE to main.c for use in debugging.
Added lots of printf's in the code which are turned on
by defining TRACE. This is used to help figure out what
the program is doing at each step . . . . .
* Added lots of comments all over the source tree. This should
help explain what the prog is doing for future hackers.
* Added lots of comments all over the source tree.
This should help explain what the prog is doing for
future hackers.
* Fixed parser to allow POLY attributes in dependent sources
(major changes in src/frontend/subckt.c, as well as move location
of call to ENHtranslate_poly in src/frontend/inp.c)
* Fixed parser to allow POLY attributes in dependent
sources (major changes in src/frontend/subckt.c, as
well as move location of call to ENHtranslate_poly in
src/frontend/inp.c)
* Fixed bug in device init files (src/spicelib/devices/*init.c)
so that Deviceinfo structures operated with XSPICE.
* Fixed bug in device init files
(src/spicelib/devices/*init.c)
so that Deviceinfo structures operated with XSPICE.
* Fixed nasty malloc problem in src/xspice/mif/mifgetmod.c which
casuedfrequent segfaults (when compiled with XSPICE).
* Fixed nasty malloc problem in src/xspice/mif/mifgetmod.c
which casued frequent segfaults (when compiled with XSPICE).
2002-01-03 Paolo Nenzi <p.nenzi@ieee.org>
* acconfig.h: added define needed for Windows and some aesthetic

51
src/frontend/vectors.c

@ -7,7 +7,7 @@ Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
* Routines for dealing with the vector database.
*/
#include <ngspice.h>
#include <spice.h>
#include <cpdefs.h>
#include <ftedefs.h>
#include <dvec.h>
@ -601,33 +601,28 @@ vec_free(struct dvec *v)
/* Now we have to take this dvec out of the plot list. */
if (pl != NULL) {
if (pl->pl_dvecs == v)
pl->pl_dvecs = v->v_next;
else {
for (lv = pl->pl_dvecs; lv->v_next; lv = lv->v_next)
if (lv->v_next == v)
break;
if (lv->v_next == NULL)
fprintf(cp_err,
"vec_free: Internal Error: %s not in plot\n",
v->v_name);
lv->v_next = v->v_next;
}
if (pl->pl_scale == v) {
if (pl->pl_dvecs)
pl->pl_scale = pl->pl_dvecs; /* Random one... */
else
pl->pl_scale = NULL;
}
if (pl->pl_dvecs == v)
pl->pl_dvecs = v->v_next;
else {
for (lv = pl->pl_dvecs; lv->v_next; lv = lv->v_next)
if (lv->v_next == v)
break;
if (lv->v_next == NULL)
fprintf(cp_err,
"vec_free: Internal Error: %s not in plot\n",
v->v_name);
lv->v_next = v->v_next;
}
if (pl->pl_scale == v) {
if (pl->pl_dvecs)
pl->pl_scale = pl->pl_dvecs; /* Random one... */
else
pl->pl_scale = NULL;
}
}
tfree(v->v_name);
if(v->v_length) {
if (isreal(v)) {
tfree(v->v_realdata);
} else {
tfree(v->v_compdata);
}
}
if (v->v_realdata) tfree(v->v_realdata);
if (v->v_compdata) tfree(v->v_compdata);
tfree(v);
return;
}
@ -652,10 +647,10 @@ vec_eq(struct dvec *v1, struct dvec *v2)
rtn = TRUE;
else
rtn = FALSE;
tfree(s1);
tfree(s2);
return rtn;
return rtn;
}
/* Return the name of the vector with the plot prefix stripped off. This

16
src/main.c

@ -5,6 +5,7 @@
Author: 1985 Wayne A. Christopher
The main routine for ngspice */
#include <ngspice.h>
#include <stdio.h>
@ -167,9 +168,12 @@ void com_loadsnap(wordlist *wl) { return; }
void com_savesnap(wordlist *wl) { return; }
#endif
#endif /* SIMULATOR */
#ifndef SIMULATOR
#ifdef XSPICE
/* saj to get nutmeg to compile, not nice but necessary */
/* saj,dw to get nutmeg to compile, not nice but necessary */
Ipc_Tiein_t g_ipc;
Ipc_Status_t ipc_send_errchk(void ) {
Ipc_Status_t x=0;
@ -291,6 +295,12 @@ append_to_stream(FILE *dest, FILE *source)
fwrite(buf, i, 1, dest);
}
#ifdef SIMULATOR
extern int OUTpBeginPlot(), OUTpData(), OUTwBeginPlot(), OUTwReference();
extern int OUTwData(), OUTwEnd(), OUTendPlot(), OUTbeginDomain();
extern int OUTendDomain(), OUTstopnow(), OUTerror(), OUTattributes();
#endif /* SIMULATOR */
int
#ifdef HAS_WINDOWS
xmain(int argc, char **argv)
@ -305,9 +315,7 @@ main(int argc, char **argv)
#ifdef SIMULATOR
int error2;
extern int OUTpBeginPlot(), OUTpData(), OUTwBeginPlot(), OUTwReference();
extern int OUTwData(), OUTwEnd(), OUTendPlot(), OUTbeginDomain();
extern int OUTendDomain(), OUTstopnow(), OUTerror(), OUTattributes();
static IFfrontEnd nutmeginfo = {
IFnewUid,
IFdelUid,

Loading…
Cancel
Save