Commit Graph

3422 Commits

Author SHA1 Message Date
rlar cff6188fe3 lexical #12/19, use `append'
some `assumption' are no longer valid
2012-07-31 20:49:32 +02:00
rlar 5ad8382cf1 lexical #11/19, aproach `append' here 2012-07-31 20:49:32 +02:00
rlar d61f3c10a0 lexical #10/19, split off `append' from `newword' 2012-07-31 20:49:32 +02:00
rlar af0a0c2c03 lexical #9/19, aproach the `append'
cw has never been NULL here,
   because we used to survive an update of cw->wl_next here

wlist hasn't been NULL either,
  because there is no place where wlist becomes NULL without
  setting cw to NULL as well. yet cw isn't NULL (see above)
aproach the `append'
2012-07-31 20:49:31 +02:00
rlar 74cc38f67a lexical #8/19, express where `wlist' and `cw' start being != NULL 2012-07-31 20:49:31 +02:00
rlar 3cbc4b0773 lexical #7/19, express verbosely where `wlist' and `cw' are NULL 2012-07-31 20:49:31 +02:00
rlar ecb2eec279 lexical #6/19, express cp_ccom() property 2012-07-31 20:49:31 +02:00
rlar 3b575d5e3d lexical #5/19, collapse into `newword' 2012-07-31 20:49:30 +02:00
rlar 348dc2d7d1 lexical #4/19, the `else' can take that job (unconditionally) 2012-07-31 20:49:30 +02:00
rlar 80191f3d44 lexical #3/19, attach and instantly remove a NULL wl_word here
this modification is faithful iff cw != NULL  and  cw->wl_next == NULL
  cw != NULL because we have just survived an update of cw->wl_word
  cw->wl_next == NULL is witnessed by:
    1) cw either NULL or pointing to a wl_cons(,NULL)
    2) cw not being modified, and no wl_next being modified
    3) check of all function invocations with wlist/cw argument
         not to modify any wl_next slot
which are:
  1) cp_ccom(wlist, ...)
  2) wl_free() always followed by goto nloop, which does a cw = wl_cons(,NULL)

and cp_ccom() doesn't modify any wl_next slot

the first part of the patch is intentionally similar to newword
`i' and `buf' can be modified here, because we will inevitably `goto done'
attach and instantly remove a NULL wl_word here
2012-07-31 20:49:30 +02:00
rlar ddebb63425 lexical #2/19, rewrite the `else if' 2012-07-31 20:49:29 +02:00
rlar f2f43bcce7 lexical #1/19, use wl_cons 2012-07-31 20:49:29 +02:00
rlar f36772419a Revert "cleanup, use wl_cons()"
This reverts parts of commit 7a7250cdbd.
There is a cleaner way to rewrite lexical.c
2012-07-31 20:48:01 +02:00
h_vogt 6cd13e0475 pll-xspice-fstep.cir: pll with ref frequency steps 2012-07-31 18:05:10 +02:00
h_vogt b85f6bbc7d controlled_exit() instead of exit() 2012-07-31 17:54:51 +02:00
h_vogt c31fc334f6 pll-xspice.cir: save command added 2012-07-31 17:31:28 +02:00
h_vogt 207adefcda evtprint.c: no node data: error message instead of seg fault 2012-07-30 23:32:54 +02:00
h_vogt c0b5a78097 new XSPICE example: use trtol=1
less ripple, but longer simulation time
2012-07-30 00:01:56 +02:00
h_vogt 85ece25a3a new XSPICE example: mixed mode pll circuit 2012-07-29 13:52:23 +02:00
rlar 64b8dfc570 use wl_delete_slice() 2012-07-29 13:11:43 +02:00
rlar cdef8aa10e implement wl_delete_slice() 2012-07-29 13:11:42 +02:00
h_vogt d793dd6a61 variable xtrtol may override the XSPICE reduction of trtol 2012-07-29 12:53:31 +02:00
rlar 26468839d4 plotit(), cleanup wordlist processing 2012-07-28 19:55:09 +02:00
rlar 608e0473d3 copy(), allow NULL argument 2012-07-28 19:53:55 +02:00
rlar b808fcec8a fix typo in the commit `use wl_find()' 2012-07-28 14:52:17 +02:00
dwarning 3c3ba4c731 inpgmod.c: correct the range check to prevent overlap 2012-07-28 13:44:33 +02:00
dwarning fd85e8fd42 indentation 2012-07-28 13:39:00 +02:00
rlar 891d99497d use wl_find() 2012-07-28 12:29:23 +02:00
rlar e2be942b72 implement wl_find() 2012-07-28 12:29:22 +02:00
rlar 60398d113c plotit.c, prepare for usage of wl_find() 2012-07-28 12:29:19 +02:00
rlar 7a7250cdbd cleanup, use wl_cons() 2012-07-27 21:50:05 +02:00
h_vogt 1754427bee enhtrans.c: indentations 2012-07-25 23:05:28 +02:00
h_vogt 20429eec4d message "OpenMP: %d threads are requested..." removed 2012-07-25 23:04:13 +02:00
h_vogt 9b122d30a3 enhtrans.c, improved error meassage upon non 'Exxx poly' line bug 2012-07-24 22:04:31 +02:00
h_vogt 12e60822fb measure.c: indentations 2012-07-23 23:26:20 +02:00
h_vogt ed5491c179 measure.c: Update on error message for .meas 2012-07-23 23:23:42 +02:00
h_vogt d1d2ff94e4 measure, error message updated and return(NAN) in case of measure failure
test for failure with isnan()
2012-07-23 22:57:32 +02:00
rlar 05e5854268 plotit.c, whitespace cleanup 2012-07-23 19:17:25 +02:00
rlar 512644ca34 rewrite using wl_ functions 2012-07-22 11:58:29 +02:00
rlar cd2cab2a94 bug fix, cp_ioreset(): fclosing an already closed stream
causing memory corruption when using `>&' stderr redirection
2012-07-22 11:56:25 +02:00
h_vogt 4d0d0fafb9 repair broken ternary function in B-Source
failed if parameters were included in function.
fixed by finding nested parens in gettok_char()
2012-07-21 22:23:49 +02:00
h_vogt c3141d94e0 table: prevent crashes upon wrong inputs, allow time, temper, hertz as part of device or node name (e.g. Rtime), remove some memory leaks 2012-07-21 21:18:24 +02:00
rlar 1e65ea9e80 rewrite using wl_ functions
this fixed following bug as well:
   echo "echo abra ; ; echo kadabra" | ngspice -p
building a circular list and looping forever
2012-07-21 18:22:10 +02:00
rlar 561d30e5bf implement wl_chop() 2012-07-21 14:42:18 +02:00
h_vogt 87c80b842c gettok_char(), return(NULL) if substring not found 2012-07-19 23:16:15 +02:00
rlar fee664bc19 untabify 2012-07-19 20:26:13 +02:00
rlar 31ee05ceef mw_coms.c, fix the cleanup using wl_cons() 2012-07-19 20:25:06 +02:00
rlar 8d0306c27a cpif.c, whitespace, indentation, cleanups 2012-07-19 20:15:33 +02:00
rlar 75d6f6da5e cpitf.c, cleanup using wl_ functions 2012-07-19 20:15:30 +02:00
rlar 3062e25184 mw_comms.c, whitespace, indentation, cleanups 2012-07-19 18:49:27 +02:00