safeguard against empty lines which may be sent to shared ngspice
This commit is contained in:
parent
5c3e2b6526
commit
05bf86caaa
|
|
@ -8128,14 +8128,16 @@ struct card *ltspice_compat(struct card *oldcard)
|
||||||
static struct card *subcktline = NULL;
|
static struct card *subcktline = NULL;
|
||||||
static int nesting = 0;
|
static int nesting = 0;
|
||||||
char *cut_line = card->line;
|
char *cut_line = card->line;
|
||||||
if (ciprefix(".subckt", cut_line)) {
|
if (*cut_line == '*' || *cut_line == '\0')
|
||||||
|
continue;
|
||||||
|
else if (ciprefix(".subckt", cut_line)) {
|
||||||
subcktline = card;
|
subcktline = card;
|
||||||
nesting++;
|
nesting++;
|
||||||
}
|
}
|
||||||
if (ciprefix(".ends", cut_line))
|
else if (ciprefix(".ends", cut_line))
|
||||||
nesting--;
|
nesting--;
|
||||||
|
|
||||||
if (ciprefix(".model", card->line) &&
|
else if (ciprefix(".model", card->line) &&
|
||||||
search_plain_identifier(card->line, "d")) {
|
search_plain_identifier(card->line, "d")) {
|
||||||
if (search_plain_identifier(card->line, "roff") ||
|
if (search_plain_identifier(card->line, "roff") ||
|
||||||
search_plain_identifier(card->line, "ron") ||
|
search_plain_identifier(card->line, "ron") ||
|
||||||
|
|
@ -8187,6 +8189,8 @@ struct card *ltspice_compat(struct card *oldcard)
|
||||||
char *cut_line = card->line;
|
char *cut_line = card->line;
|
||||||
if (*cut_line == '*')
|
if (*cut_line == '*')
|
||||||
continue;
|
continue;
|
||||||
|
if (*cut_line == '\0')
|
||||||
|
continue;
|
||||||
// exclude any command inside .control ... .endc
|
// exclude any command inside .control ... .endc
|
||||||
if (ciprefix(".control", cut_line)) {
|
if (ciprefix(".control", cut_line)) {
|
||||||
skip_control++;
|
skip_control++;
|
||||||
|
|
@ -8256,7 +8260,7 @@ static void inp_check_syntax(struct card *deck)
|
||||||
|
|
||||||
for (card = deck; card; card = card->nextcard) {
|
for (card = deck; card; card = card->nextcard) {
|
||||||
char *cut_line = card->line;
|
char *cut_line = card->line;
|
||||||
if (*cut_line == '*')
|
if (*cut_line == '*' || *cut_line == '\0')
|
||||||
continue;
|
continue;
|
||||||
// check for .control ... .endc
|
// check for .control ... .endc
|
||||||
if (ciprefix(".control", cut_line)) {
|
if (ciprefix(".control", cut_line)) {
|
||||||
|
|
@ -8328,6 +8332,8 @@ static void rem_mfg_from_models(struct card *deck)
|
||||||
char *curr_line, *end, *start;
|
char *curr_line, *end, *start;
|
||||||
|
|
||||||
curr_line = start = card->line;
|
curr_line = start = card->line;
|
||||||
|
if (*curr_line == '*' || *curr_line == '\0')
|
||||||
|
continue;
|
||||||
/* remove mfg=name */
|
/* remove mfg=name */
|
||||||
if (ciprefix(".model", curr_line)) {
|
if (ciprefix(".model", curr_line)) {
|
||||||
start = strstr(curr_line, "mfg=");
|
start = strstr(curr_line, "mfg=");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue