diff --git a/ChangeLog b/ChangeLog index 9e229009f..93f823450 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2000-10-14 Arno W. Peters + + * *: replaced malloc, realloc and free calls to use tmalloc, + trealloc and txfree. + 2000-09-05 Arno W. Peters * ???: Paolo and I have integrated patches from Alan Gillespie diff --git a/src/frontend/display.c b/src/frontend/display.c index f627087e1..475504583 100644 --- a/src/frontend/display.c +++ b/src/frontend/display.c @@ -321,7 +321,7 @@ void SaveText(GRAPH *graph, char *text, int x, int y) struct _keyed *keyed; - keyed = (struct _keyed *) calloc(1, sizeof(struct _keyed)); + keyed = (struct _keyed *) tmalloc(sizeof(struct _keyed)); if (!graph->keyed) { graph->keyed = keyed; diff --git a/src/frontend/help/readhelp.c b/src/frontend/help/readhelp.c index 9b83a141d..e9f7dbdc5 100644 --- a/src/frontend/help/readhelp.c +++ b/src/frontend/help/readhelp.c @@ -179,7 +179,7 @@ static toplink *getsubtoplink(char **ss) if ((tmp =strchr(s, ':'))) { tl->place = alloc(fplace); tl->place->filename = strncpy( - calloc(1, (unsigned) (sizeof (char) * (tmp - s + 1))), + tmalloc((unsigned) (sizeof (char) * (tmp - s + 1))), s, (tmp - s)); tl->place->filename[tmp - s] = '\0'; strtolower(tl->place->filename); @@ -314,7 +314,7 @@ copy_fplace(fplace *place) { fplace *newplace; - newplace = (fplace *) malloc(sizeof(fplace)); + newplace = (fplace *) tmalloc(sizeof(fplace)); newplace->filename = copy(place->filename); newplace->fpos = place->fpos; newplace->fp = place->fp; diff --git a/src/frontend/help/x11disp.c b/src/frontend/help/x11disp.c index e5393ce02..bf72dc6df 100644 --- a/src/frontend/help/x11disp.c +++ b/src/frontend/help/x11disp.c @@ -145,7 +145,7 @@ hlp_xdisplay(topic *top) commandWidgetClass, top->subboxwidget, buttonargs, XtNumber(buttonargs)); /* core leak XXX */ - hand = (handle *) calloc(1, sizeof (struct handle)); + hand = (handle *) tmalloc(sizeof (struct handle)); hand->result = tl; hand->parent = top; XtAddCallback(buttonwidget, XtNcallback, (XtCallbackProc) newtopic, hand); @@ -177,7 +177,7 @@ hlp_xdisplay(topic *top) XtSetArg(buttonargs[0], XtNlabel, tl->button.text); buttonwidget = XtCreateManagedWidget(tl->button.text, commandWidgetClass, top->seeboxwidget, buttonargs, 1); - hand = (handle *) calloc(1, sizeof (struct handle)); + hand = (handle *) tmalloc(sizeof (struct handle)); /* core leak XXX */ hand->result = tl; hand->parent = top; diff --git a/src/frontend/outitf.c b/src/frontend/outitf.c index 7185457a3..38f84731c 100644 --- a/src/frontend/outitf.c +++ b/src/frontend/outitf.c @@ -1217,17 +1217,14 @@ freeRun(runDesc *run) int i; for (i=0; i < run->numData; i++) { -/* vec_free(run->data[i].vec); */ /* kill run, leave plot */ tfree(run->data[i].name); tfree(run->data[i].specParamName); } tfree(run->data); -/* killplot(run->runPlot); */ /* kill run, leave plot */ - - free(run->type); - free(run->name); - free(run); + tfree(run->type); + tfree(run->name); + tfree(run); } diff --git a/src/frontend/parser/complete.c b/src/frontend/parser/complete.c index 647a5e4b6..de74d60f1 100644 --- a/src/frontend/parser/complete.c +++ b/src/frontend/parser/complete.c @@ -680,11 +680,11 @@ static void cdelete(struct ccom *node) { node->cc_invalid = 1; - free(node->cc_name); - free(node->cc_child); - free(node->cc_sibling); - free(node->cc_ysibling); - free(node->cc_parent); + tfree(node->cc_name); + tfree(node->cc_child); + tfree(node->cc_sibling); + tfree(node->cc_ysibling); + tfree(node->cc_parent); return; } diff --git a/src/frontend/parser/glob.c b/src/frontend/parser/glob.c index e58d1f1f3..4135e6eaa 100644 --- a/src/frontend/parser/glob.c +++ b/src/frontend/parser/glob.c @@ -57,7 +57,7 @@ cp_doglob(wordlist *wlist) if (*wl->wl_word == cp_til) { s = cp_tildexpand(wl->wl_word); if (!s) - *wl->wl_word = '\0'; /* MW. We Con't touch malloc addres */ + *wl->wl_word = '\0'; /* MW. We Con't touch tmalloc addres */ else wl->wl_word = s; } diff --git a/src/frontend/plotting/graf.c b/src/frontend/plotting/graf.c index 7a3f6181f..5258a889e 100644 --- a/src/frontend/plotting/graf.c +++ b/src/frontend/plotting/graf.c @@ -157,7 +157,7 @@ gr_init(double *xlims, double *ylims, /* The size of the screen. */ /* note: have enum here or some better convention */ if (NewViewport(graph) == 1) { /* note: where is the error message generated? */ - /* note: undo mallocs */ + /* note: undo tmallocs */ fprintf(cp_err, "Can't open viewport for graphics.\n"); return(FALSE); } @@ -368,7 +368,7 @@ gr_start_internal(struct dvec *dv, bool copyvec) dv->v_color = curcolor; /* save the data so we can refresh */ - link = (struct dveclist *) calloc(1, sizeof(struct dveclist)); + link = (struct dveclist *) tmalloc(sizeof(struct dveclist)); link->next = currentgraph->plotdata; if (copyvec) { diff --git a/src/frontend/plotting/graphdb.c b/src/frontend/plotting/graphdb.c index 7176e7921..bf2e5b848 100644 --- a/src/frontend/plotting/graphdb.c +++ b/src/frontend/plotting/graphdb.c @@ -26,18 +26,17 @@ GRAPH *currentgraph; /* linked list of graphs */ typedef struct listgraph { - /* we use GRAPH here instead of a pointer to save a calloc */ + /* we use GRAPH here instead of a pointer to save a tmalloc */ GRAPH graph; struct listgraph *next; } LISTGRAPH; -#define NEWLISTGRAPH (LISTGRAPH *) calloc(1, sizeof(LISTGRAPH)) +#define NEWLISTGRAPH (LISTGRAPH *) tmalloc(sizeof(LISTGRAPH)) #define NUMGBUCKETS 16 typedef struct gbucket { LISTGRAPH *list; } GBUCKET; -/* #define NEWGBUCKET (GBUCKET *) calloc(1, sizeof(GBUCKET)) */ static GBUCKET GBucket[NUMGBUCKETS]; @@ -122,7 +121,7 @@ GRAPH *CopyGraph(GRAPH *graph) /* copy dvecs */ ret->plotdata = NULL; for (link = graph->plotdata; link; link = link->next) { - newlink = (struct dveclist *) calloc(1, sizeof(struct dveclist)); + newlink = (struct dveclist *) tmalloc(sizeof(struct dveclist)); newlink->next = ret->plotdata; newlink->vector = vec_copy(link->vector); /* vec_copy doesn't set v_color or v_linestyle */ @@ -176,8 +175,8 @@ DestroyGraph(int id) k=list->graph.keyed; while (k) { nextk = k->next; - free(k->text); - free(k); + tfree(k->text); + tfree(k); k = nextk; } @@ -191,18 +190,18 @@ DestroyGraph(int id) } else { tfree(d->vector->v_compdata); } - free(d->vector); - free(d); + tfree(d->vector); + tfree(d); d = nextd; } - free(list->graph.commandline); - free(list->graph.plotname); + tfree(list->graph.commandline); + tfree(list->graph.plotname); /* If device dependent space allocated, free it. */ if (list->graph.devdep) - free(list->graph.devdep); - free(list); + tfree(list->graph.devdep); + tfree(list); return(1); } @@ -228,7 +227,7 @@ FreeGraphs(void) while (list) { deadl = list; list = list->next; - free(deadl); + tfree(deadl); } } @@ -247,7 +246,7 @@ typedef struct gcstack { struct gcstack *next; } GCSTACK; GCSTACK *gcstacktop; -#define NEWGCSTACK (GCSTACK *) calloc(1, sizeof(GCSTACK)) +#define NEWGCSTACK (GCSTACK *) tmalloc(sizeof(GCSTACK)) /* note: This Push and Pop has tricky semantics. Push(graph) will push the currentgraph onto the stack @@ -280,6 +279,5 @@ PopGraphContext(void) currentgraph = gcstacktop->pgraph; dead = gcstacktop; gcstacktop = gcstacktop->next; - free(dead); - + tfree(dead); } diff --git a/src/frontend/plotting/x11.c b/src/frontend/plotting/x11.c index f2e115789..87b21d985 100644 --- a/src/frontend/plotting/x11.c +++ b/src/frontend/plotting/x11.c @@ -311,7 +311,7 @@ handlebuttonev(Widget w, caddr_t clientdata, caddr_t calldata) /* Recover from bad NewViewPort call. */ -#define RECOVERNEWVIEWPORT() free((char *) graph);\ +#define RECOVERNEWVIEWPORT() tfree((char *) graph);\ graph = (GRAPH *) NULL; /* need to do this or else DestroyGraph will free it again */ @@ -353,7 +353,7 @@ X11_NewViewport(GRAPH *graph) }; int trys; - graph->devdep = calloc(1, sizeof(X11devdep)); + graph->devdep = tmalloc(sizeof(X11devdep)); /* set up new shell */ DEVDEP(graph).shell = XtCreateApplicationShell("shell", diff --git a/src/include/graph.h b/src/include/graph.h index cbf52a5d8..6b4ad4bfa 100644 --- a/src/include/graph.h +++ b/src/include/graph.h @@ -131,7 +131,7 @@ typedef struct graph { } GRAPH; -#define NEWGRAPH (GRAPH *) calloc(1, sizeof(GRAPH)) +#define NEWGRAPH (GRAPH *) tmalloc(sizeof(GRAPH)) #define rnd(x) (int) ((x)+0.5) diff --git a/src/include/iferrmsg.h b/src/include/iferrmsg.h index 630b5b293..0516b81ff 100644 --- a/src/include/iferrmsg.h +++ b/src/include/iferrmsg.h @@ -44,13 +44,13 @@ Author: 1986 Thomas L. Quarles /* changed in the future */ extern char *errMsg; /* descriptive message about what went wrong */ - /* MUST be malloc()'d - front end will free() */ + /* MUST be tmalloc()'d - front end will tfree() */ /* this should be a detailed message,and is assumed */ - /* malloc()'d so that you will feel free to add */ + /* tmalloc()'d so that you will feel free to add */ /* lots of descriptive information with sprintf*/ extern char *errRtn; /* name of the routine declaring error */ - /* should not be malloc()'d, will not be free()'d */ + /* should not be tmalloc()'d, will not be free()'d */ /* This should be a simple constant in your routine */ /* and thus can be set correctly even if we run out */ /* of memory */ diff --git a/src/include/ifsim.h b/src/include/ifsim.h index e8ffc2c2f..c1fa00b3b 100644 --- a/src/include/ifsim.h +++ b/src/include/ifsim.h @@ -173,14 +173,14 @@ typedef struct sIFparseTree { * should arrange to free it when appropriate. * * The responsibilities of the data supplier are: - * Any vectors referenced by the structure are to be malloc()'d + * Any vectors referenced by the structure are to be tmalloc()'d * and are assumed to have been turned over to the recipient and - * thus should not be re-used or free()'d. + * thus should not be re-used or tfree()'d. * * The responsibilities of the data recipient are: * scalar valued data is to be copied by the recipient * vector valued data is now the property of the recipient, - * and must be free()'d when no longer needed. + * and must be tfree()'d when no longer needed. * * Character strings are a special case: Since it is assumed * that all character strings are directly descended from input diff --git a/src/include/macros.h b/src/include/macros.h index 52a210b2f..e9a3796fe 100644 --- a/src/include/macros.h +++ b/src/include/macros.h @@ -24,7 +24,7 @@ #define tfree(x) (txfree(x), x = 0) #define alloc(TYPE) ((TYPE *) tmalloc(sizeof(TYPE))) #define MALLOC(x) tmalloc((unsigned)(x)) -#define FREE(x) {if (x) {free((char *)(x));(x) = 0;}} +#define FREE(x) {if (x) {txfree((char *)(x));(x) = 0;}} #define REALLOC(x,y) trealloc((char *)(x),(unsigned)(y)) #define ZERO(PTR,TYPE) (bzero((PTR),sizeof(TYPE))) diff --git a/src/main.c b/src/main.c index 749bbbd0d..8cced1086 100644 --- a/src/main.c +++ b/src/main.c @@ -503,9 +503,6 @@ main(int argc, char **argv) asprintf(&s, "%s/.spiceinit", pw->pw_dir); if (access(s, 0) == 0) inp_source(s); - /* free(s); */ - /* FIXME: Do we need to free() char* fields in pw as well? */ - /* free(pw); */ } #else /* ~ HAVE_PWD_H */ /* Try to source the file "spice.rc" in the current directory. */ diff --git a/src/maths/poly/polyfit.c b/src/maths/poly/polyfit.c index f254d49a7..07fc6f7a0 100644 --- a/src/maths/poly/polyfit.c +++ b/src/maths/poly/polyfit.c @@ -6,7 +6,7 @@ /* Takes n = (degree+1) doubles, and fills in result with the n * coefficients of the polynomial that will fit them. It also takes a * pointer to an array of n ^ 2 + n doubles to use for scratch -- we - * want to make this fast and avoid doing mallocs for each call. */ + * want to make this fast and avoid doing tmallocs for each call. */ bool ft_polyfit(double *xdata, double *ydata, double *result, int degree, double *scratch) diff --git a/src/maths/sparse/spalloc.c b/src/maths/sparse/spalloc.c index 9011902f5..b9e8e6e22 100644 --- a/src/maths/sparse/spalloc.c +++ b/src/maths/sparse/spalloc.c @@ -532,7 +532,7 @@ spcGetFillin(MatrixPtr Matrix) * Matrix (MatrixPtr) * Pointer to the matrix. * AllocatedPtr (void *) - * The pointer returned by malloc or calloc. These pointers are + * The pointer returned by tmalloc or calloc. These pointers are * saved in a list so that they can be easily freed. * * >>> Possible errors: @@ -542,7 +542,7 @@ static void RecordAllocation(MatrixPtr Matrix, void *AllocatedPtr ) { /* Begin `RecordAllocation'. */ - /* If Allocated pointer is NULL, assume that malloc returned a + /* If Allocated pointer is NULL, assume that tmalloc returned a * NULL pointer, which indicates a spNO_MEMORY error. */ if (AllocatedPtr == NULL) { Matrix->Error = spNO_MEMORY; diff --git a/src/maths/sparse/spconfig.h b/src/maths/sparse/spconfig.h index 71470e5ba..c2e2bc11f 100644 --- a/src/maths/sparse/spconfig.h +++ b/src/maths/sparse/spconfig.h @@ -275,7 +275,7 @@ * of elements for which memory is initially allocated and specifically * reserved for fill-ins in spCreate(). [4] * ELEMENTS_PER_ALLOCATION - * The number of matrix elements requested from the malloc utility on + * The number of matrix elements requested from the tmalloc utility on * each call to it. Setting this value greater than 1 reduces the * amount of overhead spent in this system call. On a virtual memory * machine, its good to allocate slightly less than a page worth of diff --git a/src/misc/alloc.c b/src/misc/alloc.c index bea3931f5..4cf7405ad 100644 --- a/src/misc/alloc.c +++ b/src/misc/alloc.c @@ -12,7 +12,7 @@ Copyright 1990 Regents of the University of California. All rights reserved. /* Malloc num bytes and initialize to zero. Fatal error if the space can't - * be malloc'd. Return NULL for a request for 0 bytes. + * be tmalloc'd. Return NULL for a request for 0 bytes. */ /* New implementation of tmalloc, it uses calloc and does not call bzero() */ diff --git a/src/misc/mktemp.c b/src/misc/mktemp.c index 39cbd0643..252e12706 100644 --- a/src/misc/mktemp.c +++ b/src/misc/mktemp.c @@ -35,7 +35,7 @@ smktemp(char *id) id = "sp"; sprintf(rbuf, TEMPFORMAT, id, num); - nbuf = (char *) malloc(strlen(rbuf) + 1); + nbuf = (char *) tmalloc(strlen(rbuf) + 1); strcpy(nbuf, rbuf); return nbuf; diff --git a/src/multidec.c b/src/multidec.c index 037736243..b8e8e0744 100644 --- a/src/multidec.c +++ b/src/multidec.c @@ -57,7 +57,7 @@ int switch (ch) { case 'o': - name = (char *) malloc((unsigned) (strlen(optarg)*sizeof(char))); + name = (char *) tmalloc((unsigned) (strlen(optarg)*sizeof(char))); (void) strcpy(name,optarg); gotname=1; use_opt = 1; @@ -158,13 +158,13 @@ int comments(r,l,g,c,ctot,cm,lm,k,name,num,len); - matrix = (double **) malloc((unsigned) (sizeof(double*)*(num+1))); - inverse = (double **) malloc((unsigned) (sizeof(double*)*(num+1))); - tpeigenvalues = (double *) malloc((unsigned) (sizeof(double)*(num+1))); + matrix = (double **) tmalloc((unsigned) (sizeof(double*)*(num+1))); + inverse = (double **) tmalloc((unsigned) (sizeof(double*)*(num+1))); + tpeigenvalues = (double *) tmalloc((unsigned) (sizeof(double)*(num+1))); for (i=1;i<=num;i++) { - matrix[i] = (double *) malloc((unsigned) (sizeof(double)*(num+1))); - inverse[i] = (double *) malloc((unsigned) (sizeof(double)*(num+1))); + matrix[i] = (double *) tmalloc((unsigned) (sizeof(double)*(num+1))); + inverse[i] = (double *) tmalloc((unsigned) (sizeof(double)*(num+1))); } for (i=1;i<=num;i++) { @@ -176,7 +176,7 @@ int matrix[i][j] = phi(i-1,tpeigenvalues[j]); } } - gammaj = (double *) malloc((unsigned) (sizeof(double)*(num+1))); + gammaj = (double *) tmalloc((unsigned) (sizeof(double)*(num+1))); for (j=1;j<=num;j++) { gammaj[j] = 0.0; @@ -192,7 +192,7 @@ int } } - free(gammaj); + tfree(gammaj); /* matrix = M set up */ @@ -203,10 +203,10 @@ int int errflg, err, singular_row, singular_col; double *elptr; - rhs = (double *) malloc((unsigned) (sizeof(double)*(num+1))); - irhs = (double *) malloc((unsigned) (sizeof(double)*(num+1))); - solution = (double *) malloc((unsigned) (sizeof(double)*(num+1))); - isolution = (double *) malloc((unsigned) (sizeof(double)*(num+1))); + rhs = (double *) tmalloc((unsigned) (sizeof(double)*(num+1))); + irhs = (double *) tmalloc((unsigned) (sizeof(double)*(num+1))); + solution = (double *) tmalloc((unsigned) (sizeof(double)*(num+1))); + isolution = (double *) tmalloc((unsigned) (sizeof(double)*(num+1))); othermatrix = spCreate(num,0,&errflg); @@ -255,7 +255,8 @@ int } } - free(rhs); free(solution); + tfree(rhs); + tfree(solution); } /* inverse = M^{-1} set up */ @@ -263,7 +264,7 @@ int fprintf(stdout,"\n"); fprintf(stdout,"* Lossy line models\n"); - options = (char *) malloc((unsigned) 256); + options = (char *) tmalloc((unsigned) 256); (void) strcpy(options,"rel=1.2 nocontrol"); for (i=1;i<=num;i++) { fprintf(stdout,".model mod%d_%s ltra %s r=%0.12g l=%0.12g g=%0.12g c=%0.12g len=%0.12g\n", @@ -326,15 +327,15 @@ int fprintf(stdout,".ends %s\n",name); - free(tpeigenvalues); + tfree(tpeigenvalues); for (i=1;i<=num;i++) { - free(matrix[i]); - free(inverse[i]); + tfree(matrix[i]); + tfree(inverse[i]); } - free(matrix); - free(inverse); - free(name); - free(options); + tfree(matrix); + tfree(inverse); + tfree(name); + tfree(options); return EXIT_NORMAL; } diff --git a/src/proc2mod.c b/src/proc2mod.c index 447763dfa..a49992cc8 100644 --- a/src/proc2mod.c +++ b/src/proc2mod.c @@ -61,9 +61,9 @@ main(void) { char *filename; - filename = (char *)malloc(1024); - typeline = (char *)malloc(1024); - dataline = (char *)malloc(1024); + filename = (char *)tmalloc(1024); + typeline = (char *)tmalloc(1024); + dataline = (char *)tmalloc(1024); while(p == NULL) { printf("name of process file (input): "); @@ -107,7 +107,7 @@ main(void) { } if(*typeline == 0) break; if(strncmp("nm",typeline,2) == 0) { - ncur = (nmod *)malloc(sizeof(nmod)); + ncur = (nmod *)tmalloc(sizeof(nmod)); ncur->nnext = NULL; ncur->nname = typeline; *(typeline+3) = (char)NULL; @@ -116,7 +116,7 @@ main(void) { ncur->nnext = nlist; nlist = ncur; } else if(strncmp("pm",typeline,2) == 0) { - pcur = (pmod *)malloc(sizeof(pmod)); + pcur = (pmod *)tmalloc(sizeof(pmod)); pcur->pnext = NULL; pcur->pname = typeline; *(typeline+3) = (char)NULL; @@ -125,7 +125,7 @@ main(void) { pcur->pnext = plist; plist = pcur; } else if(strncmp("py",typeline,2) == 0) { - ycur = (ymod *)malloc(sizeof(ymod)); + ycur = (ymod *)tmalloc(sizeof(ymod)); ycur->ynext = NULL; ycur->yname = typeline; *(typeline+3) = (char)NULL; @@ -134,7 +134,7 @@ main(void) { ycur->ynext = ylist; ylist = ycur; } else if(strncmp("du",typeline,2) == 0) { - dcur = (dmod *)malloc(sizeof(dmod)); + dcur = (dmod *)tmalloc(sizeof(dmod)); dcur->dnext = NULL; dcur->dname = typeline; *(typeline+3) = (char)NULL; @@ -143,7 +143,7 @@ main(void) { dcur->dnext = dlist; dlist = dcur; } else if(strncmp("ml",typeline,2) == 0) { - mcur = (mmod *)malloc(sizeof(mmod)); + mcur = (mmod *)tmalloc(sizeof(mmod)); mcur->mnext = NULL; mcur->mname = typeline; *(typeline+3) = (char)NULL; diff --git a/src/spicelib/analysis/cktpzstr.c b/src/spicelib/analysis/cktpzstr.c index eab5e5f2c..42cf65d94 100644 --- a/src/spicelib/analysis/cktpzstr.c +++ b/src/spicelib/analysis/cktpzstr.c @@ -175,7 +175,7 @@ CKTpzFindZeros(CKTcircuit *ckt, PZtrial **rootinfo, int *rootcount) } else if (new_trial->flags & ISANABERRATION) { CKTpzReset(neighborhood); Aberr_Num += 1; - free(new_trial); + tfree(new_trial); } else if (new_trial->flags & ISAMINIMA) { neighborhood[0] = NULL; neighborhood[1] = new_trial; @@ -645,7 +645,7 @@ CKTpzRunTrial(CKTcircuit *ckt, PZtrial **new_trialp, PZtrial **set) } else { #endif p->flags |= ISAMINIMA; - free(new_trial); + tfree(new_trial); *new_trialp = p; repeat = 1; } else if (p->flags & ISAROOT) { @@ -841,7 +841,7 @@ CKTpzVerify(PZtrial **set, PZtrial *new_trial) if (t == Trials) { Trials = t->next; } - free(t); + tfree(t); } else { if (prev) @@ -899,7 +899,7 @@ clear_trials(int mode) for (t = Trials; t; t = next) { next = t->next; if (mode || !(t->flags & ISAROOT)) { - free(t); + tfree(t); } else { if (prev) prev->next = t; diff --git a/src/spicelib/devices/bsim2/b2temp.c b/src/spicelib/devices/bsim2/b2temp.c index 75be23b16..48ce48308 100644 --- a/src/spicelib/devices/bsim2/b2temp.c +++ b/src/spicelib/devices/bsim2/b2temp.c @@ -71,7 +71,7 @@ B2temp(inModel,ckt) } if (Size_Not_Found) - { here->pParam = (struct bsim2SizeDependParam *)malloc( + { here->pParam = (struct bsim2SizeDependParam *)tmalloc( sizeof(struct bsim2SizeDependParam)); if (pLastKnot == NULL) model->pSizeDependParamKnot = here->pParam; diff --git a/src/spicelib/devices/bsim3/b3temp.c b/src/spicelib/devices/bsim3/b3temp.c index 4f3c30350..2fe8580a1 100644 --- a/src/spicelib/devices/bsim3/b3temp.c +++ b/src/spicelib/devices/bsim3/b3temp.c @@ -160,7 +160,7 @@ int Size_Not_Found; } if (Size_Not_Found) - { pParam = (struct bsim3SizeDependParam *)malloc( + { pParam = (struct bsim3SizeDependParam *)tmalloc( sizeof(struct bsim3SizeDependParam)); if (pLastKnot == NULL) model->pSizeDependParamKnot = pParam; diff --git a/src/spicelib/devices/bsim3v1/b3v1temp.c b/src/spicelib/devices/bsim3v1/b3v1temp.c index c0054c0d8..cab2870c1 100644 --- a/src/spicelib/devices/bsim3v1/b3v1temp.c +++ b/src/spicelib/devices/bsim3v1/b3v1temp.c @@ -105,7 +105,7 @@ int Size_Not_Found; } if (Size_Not_Found) - { pParam = (struct bsim3v1SizeDependParam *)malloc( + { pParam = (struct bsim3v1SizeDependParam *)tmalloc( sizeof(struct bsim3v1SizeDependParam)); if (pLastKnot == NULL) model->pSizeDependParamKnot = pParam; diff --git a/src/spicelib/devices/bsim3v2/b3v2temp.c b/src/spicelib/devices/bsim3v2/b3v2temp.c index b1e5dc2da..ea14780a3 100644 --- a/src/spicelib/devices/bsim3v2/b3v2temp.c +++ b/src/spicelib/devices/bsim3v2/b3v2temp.c @@ -160,7 +160,7 @@ int Size_Not_Found; } if (Size_Not_Found) - { pParam = (struct BSIM3V2SizeDependParam *)malloc( + { pParam = (struct BSIM3V2SizeDependParam *)tmalloc( sizeof(struct BSIM3V2SizeDependParam)); if (pLastKnot == NULL) model->pSizeDependParamKnot = pParam; diff --git a/src/spicelib/devices/bsim4/b4temp.c b/src/spicelib/devices/bsim4/b4temp.c index bea1d2e99..7ac26b064 100644 --- a/src/spicelib/devices/bsim4/b4temp.c +++ b/src/spicelib/devices/bsim4/b4temp.c @@ -334,7 +334,7 @@ int Size_Not_Found; } if (Size_Not_Found) - { pParam = (struct bsim4SizeDependParam *)malloc( + { pParam = (struct bsim4SizeDependParam *)tmalloc( sizeof(struct bsim4SizeDependParam)); if (pLastKnot == NULL) model->pSizeDependParamKnot = pParam; diff --git a/tests/diffpair.out b/tests/diffpair.out index c9be2e850..d2165e421 100644 --- a/tests/diffpair.out +++ b/tests/diffpair.out @@ -1,3 +1,7 @@ +Error: no data saved for Sensitivity analysis; analysis not run +doAnalyses: not found + +run simulation(s) aborted Circuit: simple differential pair - CM and DM dc sensitivity diff --git a/tests/fourbitadder.out b/tests/fourbitadder.out index 542f699ad..12766b629 100644 --- a/tests/fourbitadder.out +++ b/tests/fourbitadder.out @@ -286,17 +286,17 @@ Index time v(1) 1 6.000000e-13 1.800000e-04 2 7.422315e-13 2.226694e-04 3 1.026694e-12 3.080083e-04 -4 1.595620e-12 4.786861e-04 -5 2.733472e-12 8.200417e-04 -6 5.009176e-12 1.502753e-03 -7 9.560584e-12 2.868175e-03 -8 1.866340e-11 5.599020e-03 -9 3.686903e-11 1.106071e-02 -10 7.328029e-11 2.198409e-02 -11 1.332803e-10 3.998409e-02 -12 1.932803e-10 5.798409e-02 -13 2.532803e-10 7.598409e-02 -14 3.132803e-10 9.398409e-02 +4 1.595620e-12 4.786860e-04 +5 2.733472e-12 8.200415e-04 +6 5.009175e-12 1.502753e-03 +7 9.560581e-12 2.868174e-03 +8 1.866339e-11 5.599018e-03 +9 3.686902e-11 1.106071e-02 +10 7.328027e-11 2.198408e-02 +11 1.332803e-10 3.998408e-02 +12 1.932803e-10 5.798408e-02 +13 2.532803e-10 7.598408e-02 +14 3.132803e-10 9.398408e-02 15 3.732803e-10 1.119841e-01 16 4.332803e-10 1.299841e-01 17 4.932803e-10 1.479841e-01 diff --git a/tests/resistance/res_partition.out b/tests/resistance/res_partition.out index 6a916a2cc..280aa14c6 100644 --- a/tests/resistance/res_partition.out +++ b/tests/resistance/res_partition.out @@ -1,3 +1,7 @@ +Error: no data saved for A.C. Small signal analysis; analysis not run +doAnalyses: not found + +run simulation(s) aborted Circuit: * Resistive partition with different ratios for AC/DC (Print V(2))