Browse Source

The PSPICE area token for a device instance may be not only a number,

but also a parametrized token like {tok}
pre-master-46
Holger Vogt 7 years ago
parent
commit
01742eefef
  1. 11
      src/frontend/inpcom.c

11
src/frontend/inpcom.c

@ -7386,13 +7386,22 @@ pspice_compat(struct card *oldcard)
if(is_node4)
cut_line = nexttok(cut_line); // model name
}
if (*cut_line && atof(cut_line) > 0.0) { // size of area
if (*cut_line && atof(cut_line) > 0.0) { // size of area is a real number
char *tmpstr1 = copy_substring(card->line, cut_line);
char *tmpstr2 = tprintf("%s area=%s", tmpstr1, cut_line);
tfree(tmpstr1);
tfree(card->line);
card->line = tmpstr2;
}
else if (*cut_line && *(skip_ws(cut_line)) == '{') { // size of area is parametrized inside {}
char *tmpstr1 = copy_substring(card->line, cut_line);
char *tmpstr2 = gettok_char(&cut_line, '}', TRUE, TRUE);
char *tmpstr3 = tprintf("%s area=%s %s", tmpstr1, tmpstr2, cut_line);
tfree(tmpstr1);
tfree(tmpstr2);
tfree(card->line);
card->line = tmpstr3;
}
}
else if (*cut_line == 'd') {
cut_line = nexttok(cut_line); //.model

Loading…
Cancel
Save