numparam, #1/2, nupa_eval(), use struct card * argument

This commit is contained in:
rlar 2017-10-26 20:34:49 +02:00
parent ee489599cb
commit 19dfaf03f3
4 changed files with 10 additions and 4 deletions

View File

@ -403,7 +403,7 @@ do_measure(
fprintf(stdout, "%-20s=", resname);
if (!chk_only) {
ok = nupa_eval(meas_card->line, meas_card->linenum, meas_card->linenum_orig);
ok = nupa_eval(meas_card);
if (ok) {
str_ptr = strstr(meas_card->line, meastype);

View File

@ -11,8 +11,10 @@
#define NUPASUBDONE 2
#define NUPAEVALDONE 3
struct card;
extern char *nupa_copy(char *s, int linenum);
extern int nupa_eval(char *s, int linenum, int orig_linenum);
extern int nupa_eval(struct card *card);
extern int nupa_signal(int sig, char *info);
extern void nupa_scan(char * s, int linenum, int is_subckt);
extern void nupa_list_params(FILE *cp_out);

View File

@ -798,7 +798,7 @@ nupa_copy(char *s, int linenum)
int
nupa_eval(char *s, int linenum, int orig_linenum)
nupa_eval(struct card *card)
/* s points to a partially transformed line.
compute variables if linenum points to a & or .param line.
if ( the original is an X line, compute actual params.;
@ -806,6 +806,10 @@ nupa_eval(char *s, int linenum, int orig_linenum)
All the X lines are preserved (commented out) in the expanded circuit.
*/
{
char *s = card->line;
int linenum = card->linenum;
int orig_linenum = card->linenum_orig;
int idef; /* subckt definition line */
char c, keep, *ptr;
SPICE_DSTRING subname; /* dynamic string for subcircuit name */

View File

@ -372,7 +372,7 @@ inp_subcktexpand(struct card *deck) {
if (ciprefix(".meas", c->line) && strstr(c->line, "param")) {
;
} else {
nupa_eval(c->line, c->linenum, c->linenum_orig);
nupa_eval(c);
}
#ifdef TRACE