cpitf.c, cp_istrue(), avoid surplus Warning Message when an `if' condition expands to nothing

When in expression
  if $var ...
the variable `var' was undefined, then
ngspice printed a surplus warning message
>  Warning: NULL arithmetic expression
in addition to the error message
>  Error: var: no such variable.

ngspice continues to process the conditional construct
  and evaluates the condition as "FALSE"
This commit is contained in:
h_vogt 2016-02-28 20:07:04 +01:00 committed by rlar
parent dbb958fff8
commit 8b709a394f
2 changed files with 3 additions and 1 deletions

View File

@ -36,7 +36,6 @@ end
echo
echo "expect Error: testvar_d: no such variable."
echo "expect Warning: NULL arithmetic expression"
* in cp_istrue(): wl!=NULL then wl==NULL names==NULL v==NULL
if $testvar_d
echo "FAIL: you should not see this"

View File

@ -306,6 +306,9 @@ cp_istrue(wordlist *wl)
/* First do all the csh-type stuff here... */
wl = wl_copy(wl);
wl = cp_variablesubst(wl);
/* return FALSE if this did not expand to anything */
if (!wl)
return FALSE;
wl = cp_bquote(wl);
cp_striplist(wl);