fixing memory problems in nupa_substitute and other
This commit is contained in:
parent
b90b52e1ba
commit
c608e4a997
|
|
@ -29,42 +29,42 @@ typedef char string[258];
|
|||
|
||||
void sini( char * s, int i);
|
||||
void sfix(char * s, int i, int max);
|
||||
int maxlen(char * s);
|
||||
char * pscopy( char * s, char * a, int i,int j);
|
||||
char * pscopy_up( char * s, char * a, int i,int j);
|
||||
unsigned char scopy( char * a, char * b);
|
||||
unsigned char scopy_up( char * a, char * b);
|
||||
unsigned char ccopy( char * a, char c);
|
||||
unsigned char sadd( char * s, char * t);
|
||||
unsigned char nadd( char * s, long n);
|
||||
unsigned char cadd( char * s, char c);
|
||||
unsigned char sins( char * s, char * t);
|
||||
unsigned char cins( char * s, char c);
|
||||
int cpos( char c, char * s);
|
||||
int spos( char * sub, char * s);
|
||||
int maxlen(char * s);
|
||||
char * pscopy( char * s, char * a, int i,int j);
|
||||
char * pscopy_up( char * s, char * a, int i,int j);
|
||||
unsigned char scopy( char * a, char * b);
|
||||
unsigned char scopy_up( char * a, char * b);
|
||||
unsigned char ccopy( char * a, char c);
|
||||
unsigned char sadd( char * s, char * t);
|
||||
unsigned char nadd( char * s, long n);
|
||||
unsigned char cadd( char * s, char c);
|
||||
unsigned char sins( char * s, char * t);
|
||||
unsigned char cins( char * s, char c);
|
||||
int cpos( char c, char * s);
|
||||
int spos( char * sub, char * s);
|
||||
int ci_prefix( register char *p, register char *s );
|
||||
int length(char * s);
|
||||
unsigned char steq(char * s, char * t);
|
||||
unsigned char stne(char * s, char * t);
|
||||
int scompare(char * a, char * b);
|
||||
int ord(char c);
|
||||
int pred(int i);
|
||||
int succ(int i);
|
||||
int length(char * s);
|
||||
unsigned char steq(char * s, char * t);
|
||||
unsigned char stne(char * s, char * t);
|
||||
int scompare(char * a, char * b);
|
||||
int ord(char c);
|
||||
int pred(int i);
|
||||
int succ(int i);
|
||||
void stri(long n, char * s);
|
||||
void strif(long n, int f, char * s);
|
||||
void strf(double x, int a, int b, char * s); /* float -> string */
|
||||
long ival(char * s, int *err);
|
||||
double rval(char * s, int *err);
|
||||
long ival(char * s, int *err);
|
||||
double rval(char * s, int *err);
|
||||
|
||||
char upcase(char c);
|
||||
char lowcase(char c);
|
||||
int hi(long w);
|
||||
int lo(long w);
|
||||
unsigned char odd(long x);
|
||||
unsigned char alfa(char c);
|
||||
unsigned char num(char c);
|
||||
unsigned char alfanum(char c);
|
||||
char * stupcase( char * s);
|
||||
char upcase(char c);
|
||||
char lowcase(char c);
|
||||
int hi(long w);
|
||||
int lo(long w);
|
||||
unsigned char odd(long x);
|
||||
unsigned char alfa(char c);
|
||||
unsigned char num(char c);
|
||||
unsigned char alfanum(char c);
|
||||
char * stupcase( char * s);
|
||||
|
||||
/***** primitive input-output ***/
|
||||
void wc(char c);
|
||||
|
|
@ -72,24 +72,22 @@ void wln(void);
|
|||
void ws( char * s);
|
||||
void wi(long i);
|
||||
void rs( char * s);
|
||||
char rc(void);
|
||||
char rc(void);
|
||||
|
||||
int freadstr(FILE * f, char * s, int max);
|
||||
char freadc(FILE * f);
|
||||
long freadi(FILE * f);
|
||||
int freadstr(FILE * f, char * s, int max);
|
||||
char freadc(FILE * f);
|
||||
long freadi(FILE * f);
|
||||
|
||||
long np_round(double d); // sjb to avoid clash with round() in math.h
|
||||
long np_trunc(double x); // sjb to avoid clash with trunc() in math.h
|
||||
double sqr(double x);
|
||||
double absf(double x); /* abs */
|
||||
long absi( long i);
|
||||
double frac(double x);
|
||||
long np_round(double d); // sjb to avoid clash with round() in math.h
|
||||
long np_trunc(double x); // sjb to avoid clash with trunc() in math.h
|
||||
double sqr(double x);
|
||||
double absf(double x); /* abs */
|
||||
long absi( long i);
|
||||
double frac(double x);
|
||||
|
||||
unsigned char reset(FILE * f);
|
||||
unsigned char rewrite(FILE * f);
|
||||
unsigned char reset(FILE * f);
|
||||
unsigned char rewrite(FILE * f);
|
||||
void rawcopy(void * a, void * b, int la, int lb);
|
||||
void * new(long sz);
|
||||
void * new(long sz);
|
||||
void dispose(void * p);
|
||||
char * newstring(int n);
|
||||
|
||||
|
||||
char * newstring(int n);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <math.h> /* -- ceil floor */
|
||||
|
||||
#include "config.h"
|
||||
#ifdef HAS_WINDOWS
|
||||
#include "wstdio.h"
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ typedef struct _ttdico {
|
|||
|
||||
void initdico(tdico * dico);
|
||||
int donedico(tdico * dico);
|
||||
unsigned char defsubckt( tdico *dico, char * s, unsigned short w, char categ);
|
||||
unsigned char defsubckt( tdico *dico, char * s, int w, char categ);
|
||||
int findsubckt( tdico *dico, char * s, char * subname);
|
||||
unsigned char nupa_substitute( tdico *dico, char * s, char * r, unsigned char err);
|
||||
unsigned char nupa_assignment( tdico *dico, char * s, char mode);
|
||||
|
|
|
|||
|
|
@ -22,9 +22,7 @@ Todo:
|
|||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "general.h"
|
||||
#include "numparam.h"
|
||||
#include "ngspice.h"
|
||||
|
|
@ -195,14 +193,12 @@ stripbraces (char *s)
|
|||
if (t[i - 1] > ' ')
|
||||
cadd (t, ' ');
|
||||
|
||||
nadd (t, PlaceHold + placeholder);
|
||||
cadd (t, ' '); // add extra character to increase number significant digits for evaluated numbers
|
||||
cadd (t, ' ');
|
||||
cadd (t, ' ');
|
||||
cadd (t, ' ');
|
||||
cadd (t, ' ');
|
||||
cadd (t, ' ');
|
||||
cadd (t, ' ');
|
||||
cadd (t, ' '); // add extra character to increase number significant digits for evaluated numbers
|
||||
cadd (t, ' ');
|
||||
cadd (t, ' ');
|
||||
cadd (t, ' ');
|
||||
nadd (t, PlaceHold + placeholder);
|
||||
cadd (t, ' ');
|
||||
|
||||
if (s[j] >= ' ')
|
||||
cadd (t, ' ');
|
||||
|
|
@ -754,7 +750,7 @@ nupa_eval (char *s, int linenum)
|
|||
{
|
||||
int idef; /* subckt definition line */
|
||||
char c, keep, *ptr;
|
||||
int i;
|
||||
unsigned int i;
|
||||
Str (80, subname);
|
||||
unsigned char err = 1;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue