Browse Source

Use only internal memory functions, replace

free->tfree, malloc->tmalloc, realloc->trealloc
pre-master-46
Holger Vogt 8 years ago
parent
commit
a98d01e5f8
  1. 2
      src/frontend/com_fft.c
  2. 2
      src/frontend/com_hardcopy.c
  3. 8
      src/frontend/com_sysinfo.c
  4. 8
      src/frontend/define.c
  5. 2
      src/frontend/device.c
  6. 4
      src/frontend/inpcom.c
  7. 2
      src/frontend/parse.c
  8. 4
      src/frontend/spiceif.c
  9. 19
      src/frontend/subckt.c
  10. 4
      src/frontend/trannoise/1-f-code.c
  11. 8
      src/frontend/variable.c
  12. 2
      src/include/ngspice/fftext.h
  13. 4
      src/main.c
  14. 4
      src/maths/cmaths/cmath1.c
  15. 4
      src/maths/fft/fftext.c
  16. 2
      src/misc/util.c
  17. 2
      src/spicelib/devices/bsimsoi/b4soitemp.c
  18. 22
      src/spicelib/devices/cpl/cplsetup.c

2
src/frontend/com_fft.c

@ -489,7 +489,7 @@ done:
tfree(fdvec); tfree(fdvec);
tfree(win); tfree(win);
free(reald);
tfree(reald);
free_pnode(names); free_pnode(names);
} }

2
src/frontend/com_hardcopy.c

@ -73,7 +73,7 @@ com_hardcopy(wordlist *wl)
psfname[2] = 's'; psfname[2] = 's';
psfname[3] = '\0'; psfname[3] = '\0';
} else { } else {
fname = realloc(fname, strlen(fname)+4);
fname = trealloc(fname, strlen(fname)+4);
strcat(fname, ".ps"); strcat(fname, ".ps");
} }
tempgraph->devdep = fname; tempgraph->devdep = fname;

8
src/frontend/com_sysinfo.c

@ -76,8 +76,8 @@ static void
tesFreeSystemInfo(TesSystemInfo *info) tesFreeSystemInfo(TesSystemInfo *info)
{ {
if (info != NULL) { if (info != NULL) {
free(info->cpuModelName);
free(info->osName);
tfree(info->cpuModelName);
tfree(info->osName);
} }
} }
@ -323,7 +323,7 @@ tesCreateSystemInfo(TesSystemInfo *info)
} }
} }
info->numPhysicalProcessors = numProcs; info->numPhysicalProcessors = numProcs;
free(physIDs);
tfree(physIDs);
} }
/* another test to get number of logical processors /* another test to get number of logical processors
@ -341,7 +341,7 @@ tesCreateSystemInfo(TesSystemInfo *info)
* } * }
*/ */
free(inStr);
tfree(inStr);
fclose(file); fclose(file);
} else { } else {
error = TES_FAIL; error = TES_FAIL;

8
src/frontend/define.c

@ -413,8 +413,8 @@ com_undefine(wordlist *wlist)
struct udfunc *next = udf->ud_next; struct udfunc *next = udf->ud_next;
cp_remkword(CT_UDFUNCS, udf->ud_name); cp_remkword(CT_UDFUNCS, udf->ud_name);
free_pnode(udf->ud_text); free_pnode(udf->ud_text);
free(udf->ud_name);
free(udf);
tfree(udf->ud_name);
tfree(udf);
udf = next; udf = next;
} }
udfuncs = NULL; udfuncs = NULL;
@ -432,8 +432,8 @@ com_undefine(wordlist *wlist)
udfuncs = udf->ud_next; udfuncs = udf->ud_next;
cp_remkword(CT_UDFUNCS, wlist->wl_word); cp_remkword(CT_UDFUNCS, wlist->wl_word);
free_pnode(udf->ud_text); free_pnode(udf->ud_text);
free(udf->ud_name);
free(udf);
tfree(udf->ud_name);
tfree(udf);
} else { } else {
prev_udf = udf; prev_udf = udf;
} }

2
src/frontend/device.c

@ -1401,7 +1401,7 @@ com_alter_mod(wordlist *wl)
{ {
char *dir_name = ngdirname(filename); char *dir_name = ngdirname(filename);
modeldeck = inp_readall(modfile, dir_name, 0, 0, NULL); modeldeck = inp_readall(modfile, dir_name, 0, 0, NULL);
free(dir_name);
tfree(dir_name);
} }
tfree(input); tfree(input);
tfree(filename); tfree(filename);

4
src/frontend/inpcom.c

@ -320,8 +320,8 @@ read_a_lib(char *y, char *dir_name)
fclose(newfp); fclose(newfp);
} }
free(yy);
free(y_resolved);
tfree(yy);
tfree(y_resolved);
return lib; return lib;
} }

2
src/frontend/parse.c

@ -552,7 +552,7 @@ db_print_pnode_tree(struct pnode *p, char *print)
fclose(db_stream); fclose(db_stream);
if (print) if (print)
printf("%s:%d: %s {%s}\n%s\n", __FILE__, __LINE__, __func__, print, buf); printf("%s:%d: %s {%s}\n%s\n", __FILE__, __LINE__, __func__, print, buf);
free(buf);
tfree(buf);
#endif #endif
} }

4
src/frontend/spiceif.c

@ -659,7 +659,7 @@ spif_getparam_special(CKTcircuit *ckt, char **name, char *param, int ind, int do
{ {
char *x = tv->va_name; char *x = tv->va_name;
tv->va_name = tprintf("%s [%s]", tv->va_name, device->instanceParms[i].keyword); tv->va_name = tprintf("%s [%s]", tv->va_name, device->instanceParms[i].keyword);
free(x);
tfree(x);
} }
if (vv) if (vv)
tv->va_next = vv; tv->va_next = vv;
@ -704,7 +704,7 @@ spif_getparam_special(CKTcircuit *ckt, char **name, char *param, int ind, int do
{ {
char *x = tv->va_name; char *x = tv->va_name;
tv->va_name = tprintf("%s [%s]", tv->va_name, device->modelParms[i].keyword); tv->va_name = tprintf("%s [%s]", tv->va_name, device->modelParms[i].keyword);
free(x);
tfree(x);
} }
/* tv->va_string = device->modelParms[i].keyword; Put the name of the variable */ /* tv->va_string = device->modelParms[i].keyword; Put the name of the variable */
if (vv) if (vv)

19
src/frontend/subckt.c

@ -98,6 +98,8 @@ static wordlist *modtranslate(struct card *deck, char *subname, wordlist *new_mo
static void devmodtranslate(struct card *deck, char *subname, wordlist * const orig_modnames); static void devmodtranslate(struct card *deck, char *subname, wordlist * const orig_modnames);
static int inp_numnodes(char c); static int inp_numnodes(char c);
#define N_GLOBAL_NODES 1005
/*--------------------------------------------------------------------- /*---------------------------------------------------------------------
* table is used in settrans and gettrans -- it holds the netnames used * table is used in settrans and gettrans -- it holds the netnames used
* in the .subckt definition (t_old), and in the subcircuit invocation * in the .subckt definition (t_old), and in the subcircuit invocation
@ -106,7 +108,7 @@ static int inp_numnodes(char c);
static struct tab { static struct tab {
char *t_old; char *t_old;
char *t_new; char *t_new;
} table[512]; /* That had better be enough. */
} table[N_GLOBAL_NODES]; /* That had better be enough. */
/*--------------------------------------------------------------------- /*---------------------------------------------------------------------
@ -131,7 +133,7 @@ static bool use_numparams = FALSE;
static char start[32], sbend[32], invoke[32], model[32]; static char start[32], sbend[32], invoke[32], model[32];
static char *global_nodes[128];
static char *global_nodes[N_GLOBAL_NODES];
static int num_global_nodes; static int num_global_nodes;
@ -151,6 +153,10 @@ collect_global_nodes(struct card *c)
char *s = c->line; char *s = c->line;
s = nexttok(s); s = nexttok(s);
while (*s) { while (*s) {
if (num_global_nodes == N_GLOBAL_NODES) {
fprintf(stderr, "ERROR, N_GLOBAL_NODES overflow\n");
controlled_exit(EXIT_FAILURE);
}
char *t = skip_non_ws(s); char *t = skip_non_ws(s);
global_nodes[num_global_nodes++] = copy_substring(s, t); global_nodes[num_global_nodes++] = copy_substring(s, t);
s = skip_ws(t); s = skip_ws(t);
@ -1246,7 +1252,7 @@ translate(struct card *deck, char *formal, char *actual, char *scname, const cha
} }
rtn = 1; rtn = 1;
quit: quit:
for (i = 0; ; i++) {
for (i = 0; i < N_GLOBAL_NODES; i++) {
if (!table[i].t_old && !table[i].t_new) if (!table[i].t_old && !table[i].t_new)
break; break;
FREE(table[i].t_old); FREE(table[i].t_old);
@ -1338,7 +1344,7 @@ settrans(char *formal, char *actual, const char *subname)
memset(table, 0, sizeof(*table)); memset(table, 0, sizeof(*table));
for (i = 0; ; i++) {
for (i = 0; i < N_GLOBAL_NODES; i++) {
table[i].t_old = gettok(&formal); table[i].t_old = gettok(&formal);
table[i].t_new = gettok(&actual); table[i].t_new = gettok(&actual);
@ -1351,6 +1357,11 @@ settrans(char *formal, char *actual, const char *subname)
return 1; /* Too many actual / too few formal */ return 1; /* Too many actual / too few formal */
} }
} }
if (i == N_GLOBAL_NODES) {
fprintf(stderr, "ERROR, N_GLOBAL_NODES overflow\n");
controlled_exit(EXIT_FAILURE);
}
return 0; return 0;
} }

4
src/frontend/trannoise/1-f-code.c

@ -104,8 +104,8 @@ f_alpha(int n_pts, int n_exp, double X[], double Q_d, double alpha)
#endif #endif
free(hfa);
free(wfa);
tfree(hfa);
tfree(wfa);
/* fft tables will be freed in vsrcaccept.c and isrcaccept.c /* fft tables will be freed in vsrcaccept.c and isrcaccept.c
fftFree(); */ fftFree(); */
fprintf(stdout, "%d 1/f noise values in time domain created\n", n_pts); fprintf(stdout, "%d 1/f noise values in time domain created\n", n_pts);

8
src/frontend/variable.c

@ -678,20 +678,20 @@ cp_variablesubst(wordlist *wlist)
char *x = nwl->wl_word; char *x = nwl->wl_word;
char *tail_ = copy(tail); char *tail_ = copy(tail);
nwl->wl_word = tprintf("%.*s%s", prefix_len, wl->wl_word, nwl->wl_word); nwl->wl_word = tprintf("%.*s%s", prefix_len, wl->wl_word, nwl->wl_word);
free(x);
tfree(x);
if (wlist == wl) if (wlist == wl)
wlist = nwl; wlist = nwl;
wl = wl_splice(wl, nwl); wl = wl_splice(wl, nwl);
i = (int) strlen(wl->wl_word); i = (int) strlen(wl->wl_word);
x = wl->wl_word; x = wl->wl_word;
wl->wl_word = tprintf("%s%s", wl->wl_word, tail_); wl->wl_word = tprintf("%s%s", wl->wl_word, tail_);
free(x);
free(tail_);
tfree(x);
tfree(tail_);
} else if (prefix_len || *tail) { } else if (prefix_len || *tail) {
char *x = wl->wl_word; char *x = wl->wl_word;
wl->wl_word = tprintf("%.*s%s", prefix_len, wl->wl_word, tail); wl->wl_word = tprintf("%.*s%s", prefix_len, wl->wl_word, tail);
i = prefix_len; i = prefix_len;
free(x);
tfree(x);
} else { } else {
wordlist *next = wl->wl_next; wordlist *next = wl->wl_next;
if (wlist == wl) if (wlist == wl)

2
src/include/ngspice/fftext.h

@ -101,7 +101,7 @@ void rspectprod(double *data1, double *data2, double *outdata, int N);
// aInit = CACHEFILLMALLOC( NUMFLOATS*sizeof(float) ); // aInit = CACHEFILLMALLOC( NUMFLOATS*sizeof(float) );
// a = (float *) CEILCACHELINE(ainit); // a = (float *) CEILCACHELINE(ainit);
// ... main body of code ... // ... main body of code ...
// free(aInit);
// tfree(aInit);
// //
// To disable this alignment, set CACHELINESIZE to 1 // To disable this alignment, set CACHELINESIZE to 1
//#define CACHELINESIZE 32 // Bytes per cache line //#define CACHELINESIZE 32 // Bytes per cache line

4
src/main.c

@ -657,10 +657,10 @@ app_rl_readlines(void)
cp_evloop(expanded_line); cp_evloop(expanded_line);
add_history(expanded_line); add_history(expanded_line);
} }
free(expanded_line);
tfree(expanded_line);
} }
free(line);
tfree(line);
} }
/* History gets written in ../fte/misccoms.c com_quit */ /* History gets written in ../fte/misccoms.c com_quit */

4
src/maths/cmaths/cmath1.c

@ -731,7 +731,7 @@ cx_sortorder(void *data, short int type, int length, int *newlength, short int *
int i; int i;
amplitude_index_t *array_amplitudes; amplitude_index_t *array_amplitudes;
array_amplitudes = (amplitude_index_t *) malloc(sizeof(amplitude_index_t) * (size_t) length);
array_amplitudes = (amplitude_index_t *) tmalloc(sizeof(amplitude_index_t) * (size_t) length);
*newlength = length; *newlength = length;
*newtype = VF_REAL; *newtype = VF_REAL;
@ -748,7 +748,7 @@ cx_sortorder(void *data, short int type, int length, int *newlength, short int *
d[i] = array_amplitudes[i].index; d[i] = array_amplitudes[i].index;
} }
free(array_amplitudes);
tfree(array_amplitudes);
/* Otherwise it is 0, but tmalloc zeros the stuff already. */ /* Otherwise it is 0, but tmalloc zeros the stuff already. */
return ((void *) d); return ((void *) d);

4
src/maths/fft/fftext.c

@ -81,13 +81,13 @@ void fftFree(void)
int i1; int i1;
for (i1=8*sizeof(int)/2-1; i1>=0; i1--) { for (i1=8*sizeof(int)/2-1; i1>=0; i1--) {
if (BRLowArray[i1] != NULL) { if (BRLowArray[i1] != NULL) {
free(BRLowArray[i1]);
tfree(BRLowArray[i1]);
BRLowArray[i1] = NULL; BRLowArray[i1] = NULL;
} }
} }
for (i1=8*sizeof(int)-1; i1>=0; i1--) { for (i1=8*sizeof(int)-1; i1>=0; i1--) {
if (UtblArray[i1] != NULL) { if (UtblArray[i1] != NULL) {
free(UtblArray[i1]);
tfree(UtblArray[i1]);
UtblArray[i1] = NULL; UtblArray[i1] = NULL;
} }
} }

2
src/misc/util.c

@ -160,7 +160,7 @@ basename(const char *name)
int len; int len;
if (tmp) { if (tmp) {
free(tmp);
tfree(tmp);
tmp = NULL; tmp = NULL;
} }

2
src/spicelib/devices/bsimsoi/b4soitemp.c

@ -185,7 +185,7 @@ B4SOItemp(
} }
if (Size_Not_Found) if (Size_Not_Found)
{ pParam = (struct b4soiSizeDependParam *)malloc(
{ pParam = (struct b4soiSizeDependParam *)tmalloc(
sizeof(struct b4soiSizeDependParam)); sizeof(struct b4soiSizeDependParam));
if (pLastKnot == NULL) if (pLastKnot == NULL)
model->pSizeDependParamKnot = pParam; model->pSizeDependParamKnot = pParam;

22
src/spicelib/devices/cpl/cplsetup.c

@ -28,14 +28,14 @@ Modified: 2004 Paolo Nenzi - (ng)spice integration
} \ } \
} }
#define VECTOR_FREE(vec) free(vec)
#define VECTOR_FREE(vec) tfree(vec)
#define MATRIX_FREE(mat, m, j) { \ #define MATRIX_FREE(mat, m, j) { \
int k; \ int k; \
for (k = 0; k < m; k++) { \ for (k = 0; k < m; k++) { \
free(mat[k]); \
tfree(mat[k]); \
} \ } \
free(mat); \
tfree(mat); \
} }
#define MAX_DEG 8 #define MAX_DEG 8
@ -225,7 +225,7 @@ do { if((here->ptr = SMPmakeElt(matrix, here->first, here->second)) == NULL){\
} }
here->CPLibr1Given = 1; here->CPLibr1Given = 1;
} }
free(branchname);
tfree(branchname);
branchname = TMALLOC(char *, here->dimension); branchname = TMALLOC(char *, here->dimension);
if (! here->CPLibr2Given) { if (! here->CPLibr2Given) {
for (m = 0; m < here->dimension; m++) { for (m = 0; m < here->dimension; m++) {
@ -239,7 +239,7 @@ do { if((here->ptr = SMPmakeElt(matrix, here->first, here->second)) == NULL){\
} }
here->CPLibr2Given = 1; here->CPLibr2Given = 1;
} }
free(branchname);
tfree(branchname);
for (m = 0; m < here->dimension; m++) { for (m = 0; m < here->dimension; m++) {
for (node = ckt->CKTnodes; node; node = node->next) { for (node = ckt->CKTnodes; node; node = node->next) {
@ -337,10 +337,10 @@ CPLunsetup(GENmodel *inModel, CKTcircuit *ckt)
} }
} }
free(here->CPLposNodes);
free(here->CPLnegNodes);
free(here->CPLibr1);
free(here->CPLibr2);
tfree(here->CPLposNodes);
tfree(here->CPLnegNodes);
tfree(here->CPLibr1);
tfree(here->CPLibr2);
/* reset switches */ /* reset switches */
here->CPLdcGiven=0; here->CPLdcGiven=0;
@ -583,8 +583,8 @@ static void
free_vector(double *v, int nl, int nh) free_vector(double *v, int nl, int nh)
{ {
NG_IGNORE(nh); NG_IGNORE(nh);
free(v + nl);
double *freev = v + nl;
tfree(freev);
} }
static void static void

Loading…
Cancel
Save