Add char *lineinfo to parameters of fcn insert_new_line

This commit is contained in:
Holger Vogt 2024-04-26 16:45:34 +02:00
parent 55aee45955
commit 9c21a1fe9e
2 changed files with 21 additions and 21 deletions

View File

@ -16,7 +16,7 @@ void inp_probe(struct card* card);
void modprobenames(INPtables* tab);
extern struct card* insert_new_line(
struct card* card, char* line, int linenum, int linenum_orig);
struct card* card, char* line, int linenum, int linenum_orig, char *lineinfo);
extern int get_number_terminals(char* c);
extern char* search_plain_identifier(char* str, const char* identifier);
@ -90,7 +90,7 @@ void inp_probe(struct card* deck)
if (!havesave) {
char* vline = copy(".save all");
deck = insert_new_line(deck, vline, 0, 0);
deck = insert_new_line(deck, vline, 0, deck->linenum_orig, deck->linesource);
}
/* set a variable if .probe command is given */
@ -284,7 +284,7 @@ void inp_probe(struct card* deck)
tfree(card->line);
card->line = newline;
card = insert_new_line(card, vline, 0, card->linenum_orig);
card = insert_new_line(card, vline, 0, card->linenum_orig, card->linesource);
tfree(strnode1);
tfree(strnode2);
@ -320,11 +320,11 @@ void inp_probe(struct card* deck)
continue;
}
char* vline = tprintf("vcurr_%s:%s:%s_%s %s %s 0", instname, nodename, thisnode, nodebuf, thisnode, newnode);
card = insert_new_line(card, vline, 0, card->linenum_orig);
card = insert_new_line(card, vline, 0, card->linenum_orig, card->linesource);
/* special for KiCad: add shunt resistor if thisnode contains 'unconnected' */
if (*instname == 'x' && strstr(thisnode, "unconnected")) {
char *rline = tprintf("R%s %s 0 1e15", thisnode, thisnode);
card = insert_new_line(card, rline, 0, card->linenum_orig);
card = insert_new_line(card, rline, 0, card->linenum_orig, card->linesource);
}
char* nodesaves = tprintf("%s:%s#branch", instname, nodename);
allsaves = wl_cons(nodesaves, allsaves);
@ -342,7 +342,7 @@ void inp_probe(struct card* deck)
char* newline = wl_flatten(allsaves);
wl_free(allsaves);
allsaves = NULL;
card = insert_new_line(card, newline, 0, card->linenum_orig);
card = insert_new_line(card, newline, 0, card->linenum_orig, card->linesource);
}
}
}
@ -396,7 +396,7 @@ void inp_probe(struct card* deck)
tfree(strnode1);
tfree(strnode2);
tmpcard1 = deck->nextcard;
tmpcard1 = insert_new_line(tmpcard1, newline, 0, card->linenum_orig);
tmpcard1 = insert_new_line(tmpcard1, newline, 0, card->linenum_orig, card->linesource);
}
continue;
}
@ -431,7 +431,7 @@ void inp_probe(struct card* deck)
allsaves = wl_cons(nodesaves, allsaves);
tfree(strnode1);
tfree(strnode2);
tmpcard1 = insert_new_line(tmpcard1, newline, 0, card->linenum_orig);
tmpcard1 = insert_new_line(tmpcard1, newline, 0, card->linenum_orig, card->linesource);
continue;
}
/* node containing ':'
@ -584,7 +584,7 @@ void inp_probe(struct card* deck)
char *newline = tprintf("Ediff%d_%s_%s vd_%s:%s_%s:%s 0 %s %s 1", ee, instname1, instname2, instname1, nodename1, instname2, nodename2, strnode1, strnode2);
char* nodesaves = tprintf("vd_%s:%s_%s:%s", instname1, nodename1, instname2, nodename2);
allsaves = wl_cons(nodesaves, allsaves);
tmpcard1 = insert_new_line(tmpcard1, newline, 0, card->linenum_orig);
tmpcard1 = insert_new_line(tmpcard1, newline, 0, card->linenum_orig, card->linesource);
tfree(strnode1);
tfree(strnode2);
tfree(nodename1);
@ -706,7 +706,7 @@ void inp_probe(struct card* deck)
char* newline = tprintf("Ediff%d_%s vd_%s:%s:%s 0 %s %s 1", ee, instname1, instname1, nodename1, nodename2, strnode1, strnode2);
char* nodesaves = tprintf("vd_%s:%s:%s", instname1, nodename1, nodename2);
allsaves = wl_cons(nodesaves, allsaves);
tmpcard1 = insert_new_line(tmpcard1, newline, 0, card->linenum_orig);
tmpcard1 = insert_new_line(tmpcard1, newline, 0, card->linenum_orig, card->linesource);
tfree(strnode1);
tfree(strnode2);
tfree(nodename1);
@ -791,7 +791,7 @@ void inp_probe(struct card* deck)
tfree(tmpcard->line);
tmpcard->line = newline;
tmpcard = insert_new_line(tmpcard, vline, 0, card->linenum_orig);
tmpcard = insert_new_line(tmpcard, vline, 0, card->linenum_orig, card->linesource);
tfree(strnode2);
tfree(newnode);
@ -846,7 +846,7 @@ void inp_probe(struct card* deck)
tfree(tmpcard->line);
tmpcard->line = newline;
tmpcard = insert_new_line(tmpcard, vline, 0, card->linenum_orig);
tmpcard = insert_new_line(tmpcard, vline, 0, card->linenum_orig, card->linesource);
char* nodesaves = tprintf("%s:%s#branch", instname, nodename1);
allsaves = wl_cons(nodesaves, allsaves);
@ -911,7 +911,7 @@ void inp_probe(struct card* deck)
wl_free(allsaves);
allsaves = NULL;
card = deck->nextcard;
card = insert_new_line(card, newline, 0, card->linenum_orig);
card = insert_new_line(card, newline, 0, card->linenum_orig, card->linesource);
}
}
@ -1379,7 +1379,7 @@ static int setallvsources(struct card *tmpcard, NGHASHPTR instances, char *instn
card = tmpcard->nextcard;
card = insert_new_line(card, vline, 0, card->linenum_orig);
card = insert_new_line(card, vline, 0, card->linenum_orig, card->linesource);
if (power) {
/* For example V(1)+V(2)+V(3)*/
@ -1422,14 +1422,14 @@ static int setallvsources(struct card *tmpcard, NGHASHPTR instances, char *instn
wl_free(allsaves);
allsaves = NULL;
card = tmpcard->nextcard;
card = insert_new_line(card, newsaveline, 0, card->linenum_orig);
card = insert_new_line(card, newsaveline, 0, card->linenum_orig, card->linesource);
}
if (power) {
cadd(&BVrefline, ')');
card = tmpcard->nextcard;
card = insert_new_line(card, copy(ds_get_buf(&BVrefline)), 0, card->linenum_orig);
card = insert_new_line(card, copy(ds_get_buf(&Bpowerline)), 0, card->linenum_orig);
card = insert_new_line(card, copy(ds_get_buf(&BVrefline)), 0, card->linenum_orig, card->linesource);
card = insert_new_line(card, copy(ds_get_buf(&Bpowerline)), 0, card->linenum_orig, card->linesource);
}
ds_free(&BVrefline);

View File

@ -62,7 +62,7 @@
#include "ngspice/hash.h"
extern struct card* insert_new_line(
struct card* card, char* line, int linenum, int linenum_orig);
struct card* card, char* line, int linenum, int linenum_orig, char *lineinfo);
/* device types */
#define D_AND 0
@ -845,13 +845,13 @@ struct card *replacement_udevice_cards(void)
new_str = copy(x->translated);
if (count == 0) {
count++;
newcard = insert_new_line(NULL, new_str, 0, 0);
newcard = insert_new_line(NULL, new_str, 0, 0, NULL);
} else if (count == 1) {
count++;
nextcard = insert_new_line(newcard, new_str, 0, 0);
nextcard = insert_new_line(newcard, new_str, 0, 0, NULL);
} else {
count++;
nextcard = insert_new_line(nextcard, new_str, 0, 0);
nextcard = insert_new_line(nextcard, new_str, 0, 0, NULL);
}
}
if (current_subckt && (ps_ports_and_pins & 2)) {