diff --git a/src/include/ngspice/memory.h b/src/include/ngspice/memory.h index e38922bd5..64db6d7cf 100644 --- a/src/include/ngspice/memory.h +++ b/src/include/ngspice/memory.h @@ -3,10 +3,12 @@ #include -#define TMALLOC(t,n) (t*) tmalloc(sizeof(t) * (size_t)(n)) -#define TREALLOC(t,p,n) (t*) trealloc(p, sizeof(t) * (size_t)(n)) +#define TMALLOC(t, n) (t*) tmalloc(sizeof(t) * (size_t)(n)) +#define TREALLOC(t, p, n) (t*) trealloc(p, sizeof(t) * (size_t)(n)) + #ifndef HAVE_LIBGC + extern void *tmalloc(size_t num); extern void *trealloc(void *str, size_t num); extern void txfree(void *ptr); @@ -14,47 +16,54 @@ extern void txfree(void *ptr); #define tfree(x) (txfree(x), (x) = 0) #else + #include -#define tmalloc(m) GC_malloc(m) -#define trealloc(m,n) GC_realloc((m),(n)) +#define tmalloc(m) GC_malloc(m) +#define trealloc(m, n) GC_realloc((m), (n)) #define tfree(m) #define txfree(m) -#endif + +#endif /* HAVE_LIBGC */ #include "ngspice/stringutil.h" /* va: spice3 internally bzero */ -#define alloc(TYPE) TMALLOC(TYPE, 1) -#define MALLOC(x) tmalloc((size_t)(x)) -#define FREE(x) {if(x) { txfree(x); (x) = 0; }} -#define REALLOC(x,y) trealloc(x, (size_t)(y)) -#define ZERO(PTR,TYPE) bzero(PTR, sizeof(TYPE)) +#define alloc(TYPE) TMALLOC(TYPE, 1) +#define MALLOC(x) tmalloc((size_t) (x)) +#define FREE(x) do { if(x) { txfree(x); (x) = NULL; } } while(0) +#define REALLOC(x, y) trealloc(x, (size_t) (y)) +#define ZERO(PTR, TYPE) bzero(PTR, sizeof(TYPE)) #if defined(_MSC_VER) || defined(__MINGW32__) -void * hrealloc(void *ptr, size_t num); +void *hrealloc(void *ptr, size_t num); #endif #ifdef CIDER -#define RALLOC(ptr,type,number) \ -if ((number) && (ptr = (type *)calloc((size_t)(number), sizeof(type))) == NULL) { \ - return(E_NOMEM); \ -} - -#define XALLOC(ptr,type,number) \ -if ((number) && (ptr = (type *)calloc((size_t)(number), sizeof(type))) == NULL) { \ - SPfrontEnd->IFerror( E_PANIC, "Out of Memory", NIL(IFuid) ); \ - exit( 1 ); \ -} - -#define XCALLOC(ptr,type,number) \ -if ((number) && (ptr = (type *)calloc((size_t)(number), sizeof(type))) == NULL) { \ - fprintf( stderr, "Out of Memory\n" ); \ - exit( 1 ); \ -} +#define RALLOC(ptr, type, number) \ + do { \ + if ((number) && (ptr = (type *)calloc((size_t)(number), sizeof(type))) == NULL) \ + return E_NOMEM; \ + } while(0) + +#define XALLOC(ptr, type, number) \ + do { \ + if ((number) && (ptr = (type *)calloc((size_t)(number), sizeof(type))) == NULL) { \ + SPfrontEnd->IFerror(E_PANIC, "Out of Memory", NULL); \ + exit(1); \ + } \ + } while(0) + +#define XCALLOC(ptr, type, number) \ + do { \ + if ((number) && (ptr = (type *)calloc((size_t)(number), sizeof(type))) == NULL) { \ + fprintf(stderr, "Out of Memory\n"); \ + exit(1); \ + } \ + } while(0) #endif /* CIDER */ diff --git a/src/spicelib/parser/inppas3.c b/src/spicelib/parser/inppas3.c index 10eb40c28..7f57918c4 100644 --- a/src/spicelib/parser/inppas3.c +++ b/src/spicelib/parser/inppas3.c @@ -47,7 +47,7 @@ INPpas3(CKTcircuit *ckt, card *data, INPtables *tab, TSKtask *task, for(current = data; current != NULL; current = current->nextcard) { line = current->line; - FREE(token) + FREE(token); INPgetTok(&line,&token,1); if (strcmp(token,".nodeset")==0) {