diff --git a/ChangeLog b/ChangeLog index e50af7092..b14332db5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 2009-02-22 Holger Vogt * xspice/icm/makefile: *.cm for CYGWIN need to be made executable (755 instead of 644) + * fteext.h spiceif.c options.c dotcards.c: .options NOACCT added 2009-02-22 Dietmar Warning * devices/adms/mextram: Update to release version 504.7 now with selfheating diff --git a/src/frontend/dotcards.c b/src/frontend/dotcards.c index 2d823ad7f..29dbdf45b 100644 --- a/src/frontend/dotcards.c +++ b/src/frontend/dotcards.c @@ -355,9 +355,10 @@ ft_cktcoms(bool terse) if (ft_acctprint) { static wordlist ww = { "everything", NULL, NULL } ; com_rusage(&ww); - } else + } else if ((!ft_noacctprint) && (!ft_acctprint)) com_rusage((wordlist *) NULL); - + /* absolutely no accounting if noacct is given */ + putc('\n', cp_out); return 0; diff --git a/src/frontend/options.c b/src/frontend/options.c index 800eb57b7..99bb8f04a 100644 --- a/src/frontend/options.c +++ b/src/frontend/options.c @@ -26,7 +26,7 @@ $Id$ /* static declarations */ static void setdb(char *str); -bool ft_acctprint = FALSE, ft_listprint = FALSE; +bool ft_acctprint = FALSE, ft_noacctprint = FALSE, ft_listprint = FALSE; bool ft_nodesprint = FALSE, ft_optsprint = FALSE; /* The user-supplied routine to query the values of variables. This @@ -247,6 +247,8 @@ cp_usrset(struct variable *var, bool isset) ft_rawfile = copy(var->va_string); } else if (eq(var->va_name, "acct")) { ft_acctprint = isset; + } else if (eq(var->va_name, "noacct")) { + ft_noacctprint = isset; } else if (eq(var->va_name, "list")) { ft_listprint = isset; } else if (eq(var->va_name, "nopage")) { diff --git a/src/frontend/spiceif.c b/src/frontend/spiceif.c index 3b9437057..188875a8d 100644 --- a/src/frontend/spiceif.c +++ b/src/frontend/spiceif.c @@ -393,6 +393,9 @@ if_option(void *ckt, char *name, int type, char *value) if (eq(name, "acct")) { ft_acctprint = TRUE; return 0; + } else if (eq(name, "noacct")) { + ft_noacctprint = TRUE; + return 0; } else if (eq(name, "list")) { ft_listprint = TRUE; return 0; diff --git a/src/include/fteext.h b/src/include/fteext.h index 91ac8746d..f640b2cc0 100644 --- a/src/include/fteext.h +++ b/src/include/fteext.h @@ -180,6 +180,7 @@ extern void com_xgraph(); /* dotcards.c */ extern bool ft_acctprint; +extern bool ft_noacctprint; extern bool ft_listprint; extern bool ft_nopage; extern bool ft_nomod; diff --git a/tests/bsim1/test.cir b/tests/bsim1/test.cir index e6f9fe270..0ca6150f6 100644 --- a/tests/bsim1/test.cir +++ b/tests/bsim1/test.cir @@ -18,7 +18,8 @@ VBS3 6 0 -2 VBS4 7 0 -3 VBS5 8 0 -4 *************************************************************** -*.OPTIONS LIMPTS=5000 ACCT +*.OPTIONS LIMPTS=5000 ACCT +.OPTIONS NOACCT .DC VGS 0 5 0.01 .PRINT DC I(V1) I(V2) I(V3) I(V4) I(V5) *.PLOT DC I(V1) I(V2) I(V3) I(V4) I(V5) diff --git a/tests/bsim2/test.cir b/tests/bsim2/test.cir index 2225a0584..74e3a486c 100644 --- a/tests/bsim2/test.cir +++ b/tests/bsim2/test.cir @@ -18,7 +18,8 @@ VBS3 6 0 -2 VBS4 7 0 -3 VBS5 8 0 -4 *************************************************************** -*.OPTIONS LIMPTS=5000 ACCT +*.OPTIONS LIMPTS=5000 ACCT +.OPTIONS NOACCT .DC VGS 0 5 0.01 .PRINT DC I(V1) I(V2) I(V3) I(V4) I(V5) *.PLOT DC I(V1) I(V2) I(V3) I(V4) I(V5)