diff --git a/ChangeLog b/ChangeLog index c14a42764..29bc8b807 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2010-12-11 Holger Vogt + * inpcom.c: && and || in B source, bug no. 3127808 + * src/makefile.am: trailing white spaces removed + 2010-12-04 Robert Larice * src/xspice/mif/mifdelete.c : bug fix, segmentation fault caused by `reset' when xspice used diff --git a/src/Makefile.am b/src/Makefile.am index 299d56e7f..597aab01f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -156,7 +156,7 @@ endif ngspice_LDADD += \ frontend/parser/libparser.la \ frontend/numparam/libnumparam.la \ - frontend/trannoise/libtrannoise.la \ + frontend/trannoise/libtrannoise.la \ spicelib/parser/libinp.la if CIDER_WANTED @@ -171,7 +171,7 @@ ngspice_LDADD += \ maths/deriv/libderiv.la \ maths/cmaths/libcmaths.la \ maths/misc/libmathmisc.la \ - maths/fft/libmathfft.la \ + maths/fft/libmathfft.la \ maths/poly/libpoly.la \ maths/ni/libni.la \ maths/sparse/libsparse.la \ @@ -210,10 +210,10 @@ ngnutmeg_LDADD += \ frontend/plotting/libplotting.la \ frontend/parser/libparser.la \ frontend/numparam/libnumparam.la \ - frontend/trannoise/libtrannoise.la \ + frontend/trannoise/libtrannoise.la \ maths/cmaths/libcmaths.la \ maths/misc/libmathmisc.la \ - maths/fft/libmathfft.la \ + maths/fft/libmathfft.la \ maths/poly/libpoly.la \ misc/libmisc.la \ spicelib/parser/libinp.la @@ -388,7 +388,7 @@ libspice_la_LIBADD += \ maths/deriv/libderiv.la \ maths/cmaths/libcmaths.la \ maths/misc/libmathmisc.la \ - maths/fft/libmathfft.la \ + maths/fft/libmathfft.la \ maths/poly/libpoly.la \ maths/ni/libni.la \ maths/sparse/libsparse.la \ diff --git a/src/frontend/inpcom.c b/src/frontend/inpcom.c index 5146becc0..c76b0cf09 100644 --- a/src/frontend/inpcom.c +++ b/src/frontend/inpcom.c @@ -4352,6 +4352,18 @@ static void inp_bsource_compat(struct line *deck) str_ptr++; ustate = 1; /* we have an operator */ } + else if ((actchar == '|') || (actchar == '&')) + { + buf[0] = actchar; + buf[1] = actchar; + buf[2] = '\0'; + cwl->wl_word = copy(buf); + str_ptr++; + ustate = 1; /* we have an operator */ + /* just skip the second & or | */ + if ((*str_ptr == '|') || (*str_ptr == '&')) + str_ptr++; + } else if ((actchar == '-') && (ustate == 0)) { buf[0] = actchar; buf[1] = '\0'; @@ -4512,8 +4524,10 @@ static void inp_bsource_compat(struct line *deck) new_line->li_error = NULL; new_line->li_actual = NULL; new_line->li_line = final_str; - new_line->li_linenum = 0; - // comment out current old B line + /* Copy old line numbers into new B source line */ + new_line->li_linenum = card->li_linenum; + new_line->li_linenum_orig = card->li_linenum_orig; + // comment out current line (old B source line) *(card->li_line) = '*'; // insert new B source line immediately after current line tmp_ptr = card->li_next;