Merge branch 'pre-master-45' of ssh://git.code.sf.net/p/ngspice/ngspice into pre-master-45
This commit is contained in:
commit
f7fd11692d
|
|
@ -92,10 +92,11 @@ settrace(wordlist *wl, int what, char *name)
|
|||
continue;
|
||||
}
|
||||
|
||||
/* Don't save a nodename more than once */
|
||||
/* Don't save a nodename more than once, except for token 'all' */
|
||||
if (db_type == DB_SAVE) {
|
||||
for (dbcheck = dbs; dbcheck; dbcheck = dbcheck->db_next) {
|
||||
if (dbcheck->db_type == DB_SAVE && eq(dbcheck->db_nodename1, db_nodename1)) {
|
||||
if (dbcheck->db_type == DB_SAVE && eq(dbcheck->db_nodename1, db_nodename1) &&
|
||||
!eq("all", db_nodename1)) {
|
||||
tfree(db_nodename1);
|
||||
goto loopend;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ void
|
|||
com_print(wordlist *wl)
|
||||
{
|
||||
struct dvec *v, *lv = NULL, *bv, *nv, *vecs = NULL;
|
||||
int i, j, ll, width = DEF_WIDTH, height = DEF_HEIGHT, npoints, lineno;
|
||||
int i, j, ll, width = DEF_WIDTH, height = DEF_HEIGHT, npoints, lineno, npages = 0;
|
||||
struct pnode *pn, *names;
|
||||
struct plot *p;
|
||||
bool col = TRUE, nobreak = FALSE, noprintscale, plotnames = FALSE;
|
||||
|
|
@ -292,6 +292,7 @@ com_print(wordlist *wl)
|
|||
noprintscale = cp_getvar("noprintscale", CP_BOOL, NULL, 0);
|
||||
bv = vecs;
|
||||
nextpage:
|
||||
npages++;
|
||||
/* Make the first vector of every page be the scale... */
|
||||
/* XXX But what if there is no scale? e.g. op, pz */
|
||||
if (!noprintscale && bv->v_plot->pl_ndims)
|
||||
|
|
@ -313,21 +314,24 @@ com_print(wordlist *wl)
|
|||
break;
|
||||
}
|
||||
|
||||
/* Print the header on the first page only. */
|
||||
p = bv->v_plot;
|
||||
j = (width - (int) strlen(p->pl_title)) / 2; /* Yes, keep "(int)" */
|
||||
if (j < 0)
|
||||
j = 0;
|
||||
for (i = 0; i < j; i++)
|
||||
buf2[i] = ' ';
|
||||
buf2[j] = '\0';
|
||||
out_send(buf2);
|
||||
out_send(p->pl_title);
|
||||
out_send("\n");
|
||||
out_send(buf2);
|
||||
(void) sprintf(buf, "%s %s", p->pl_name, p->pl_date);
|
||||
out_send(buf);
|
||||
out_send("\n");
|
||||
/* Print the header on the first page only, if 'option nopage'. */
|
||||
if (!ft_nopage || npages == 1) {
|
||||
/* print the header */
|
||||
p = bv->v_plot;
|
||||
j = (width - (int)strlen(p->pl_title)) / 2; /* Yes, keep "(int)" */
|
||||
if (j < 0)
|
||||
j = 0;
|
||||
for (i = 0; i < j; i++)
|
||||
buf2[i] = ' ';
|
||||
buf2[j] = '\0';
|
||||
out_send(buf2);
|
||||
out_send(p->pl_title);
|
||||
out_send("\n");
|
||||
out_send(buf2);
|
||||
(void)sprintf(buf, "%s %s", p->pl_name, p->pl_date);
|
||||
out_send(buf);
|
||||
out_send("\n");
|
||||
}
|
||||
for (i = 0; i < width; i++)
|
||||
buf2[i] = '-';
|
||||
buf2[width] = '\n';
|
||||
|
|
@ -403,7 +407,10 @@ com_print(wordlist *wl)
|
|||
goto done;
|
||||
if (j == npoints) { /* More vectors to print. */
|
||||
bv = lv;
|
||||
out_send("\f\n"); /* Form feed. */
|
||||
if(nobreak)
|
||||
out_send("\n"); /* return without form feed. */
|
||||
else
|
||||
out_send("\f\n"); /* Form feed. */
|
||||
goto nextpage;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -838,6 +838,10 @@ INP2dot(CKTcircuit *ckt, INPtables *tab, struct card *current, TSKtask *task, CK
|
|||
/* don't have to do anything, since models were all done in
|
||||
* pass 1 */
|
||||
goto quit;
|
||||
} else if (strcmp(token, ".param") == 0) {
|
||||
/* don't have to do anything, since params were all done
|
||||
* elsewhere */
|
||||
goto quit;
|
||||
} else if ((strcmp(token, ".width") == 0) ||
|
||||
strcmp(token, ".print") == 0 || strcmp(token, ".plot") == 0) {
|
||||
/* obsolete - ignore */
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ vdm 1 11 dc 0 sin(0 0.1 5meg) ac 1
|
|||
vcc 8 0 12
|
||||
vee 9 0 -12
|
||||
|
||||
.options noacct
|
||||
.options noacct nopage
|
||||
|
||||
* Analyses:
|
||||
.tf v(5) vcm
|
||||
|
|
|
|||
Loading…
Reference in New Issue