From 888bcce829cf2ad07c6afd7d717b131fe8406898 Mon Sep 17 00:00:00 2001 From: h_vogt Date: Sun, 7 Feb 2016 09:59:08 +0100 Subject: [PATCH] spicenum.c, new variable `interactive' when set enables interactive numparam error handling --- src/frontend/miscvars.c | 1 + src/frontend/numparam/spicenum.c | 13 +++++++------ src/spinit.in | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/frontend/miscvars.c b/src/frontend/miscvars.c index 9c4287f3d..95a257903 100644 --- a/src/frontend/miscvars.c +++ b/src/frontend/miscvars.c @@ -65,6 +65,7 @@ char *ft_setkwords[] = { "height", "history", "ignoreeof", + "interactive", "itl1", "itl2", "itl3", diff --git a/src/frontend/numparam/spicenum.c b/src/frontend/numparam/spicenum.c index 2a3247371..b34a5dae1 100644 --- a/src/frontend/numparam/spicenum.c +++ b/src/frontend/numparam/spicenum.c @@ -497,17 +497,18 @@ nupa_done(void) simulation has finished. */ if (nerrors) { - -#ifdef SHARED_MODULE - fprintf(cp_err, "Numparam expansion errors: Problem with input file.\n"); - shared_exit(EXIT_BAD); -#endif - + bool is_interactive = FALSE; + if (cp_getvar("interactive", CP_BOOL, NULL)) + is_interactive = TRUE; printf(" Copies=%d Evals=%d Placeholders=%ld Symbols=%d Errors=%d\n", linecountS, evalcountS, placeholder, dictsize, nerrors); /* debug: ask if spice run really wanted */ if (ft_batchmode) controlled_exit(EXIT_FAILURE); + if (!is_interactive) { + fprintf(cp_err, "Numparam expansion errors: Problem with input file.\n"); + controlled_exit(EXIT_FAILURE); + } for (;;) { int c; printf("Numparam expansion errors: Run Spice anyway? y/n ?\n"); diff --git a/src/spinit.in b/src/spinit.in index 6238faa89..418ddb65c 100644 --- a/src/spinit.in +++ b/src/spinit.in @@ -12,6 +12,7 @@ set noaskquit ** set the number of threads in openmp ** default (if compiled with --enable-openmp) is: 2 *set num_threads=4 +set interactive strcmp __flag $program "ngspice" if $__flag = 0