Commit Graph

6571 Commits

Author SHA1 Message Date
rlar 7549b3409e numparam/xpressn.c, abstraction, introduce `double_to_string()' 2018-02-17 19:15:54 +01:00
rlar 6d4fc501bd numparam/xpressn.c, evaluate_variable(), cleanup `for' loop 2018-02-17 19:15:54 +01:00
rlar fdfaf0c84a numparam/xpressn.c, don't mess the case of quoted strings
and drop `dico_t.option' which is nowhere set
2018-02-17 19:15:54 +01:00
rlar 23f6d51c67 numparam/xpressn.c, evaluate(), drop local `done' and `lq'
no longer limit the length of a quoted string parameter
2018-02-17 19:15:54 +01:00
rlar e970e8c4ea numparam/xpressn.c, evaluate(), drop `dt' 2018-02-17 19:15:54 +01:00
rlar 00c3d2f79e numparam/xpressn.c, drop `getidtype()' 2018-02-17 19:15:54 +01:00
rlar 34040a592d numparam, #3/3, remove global `nupa_inst_name' 2018-02-17 19:15:54 +01:00
rlar 1bf2590caa numparam, #2/3, avoid global `nupa_inst_name' 2018-02-17 19:15:53 +01:00
rlar ca4278685d numparam, #1/3, avoid global `nupa_inst_name' 2018-02-17 19:15:53 +01:00
rlar 495eef349d numparam/xpressn.c, nupa_subcktcall(), drop unused `err' argument 2018-02-17 19:15:53 +01:00
rlar 979175fbc6 numparam/xpressn.c, findsubckt(), drop unused `subname' argument 2018-02-17 19:15:53 +01:00
rlar f42c8d60b4 numparam/spicenum.c, use `copy_substring()' 2018-02-17 19:15:53 +01:00
rlar 49e03cdcb2 numparam, entry_type, #5/5, rewrite to get rid of 'NUPA_SPACE'
use fact: 'entry' !== NULL
2018-02-17 19:15:53 +01:00
rlar c761c74a22 numparam, entry_type, #4/5, drop 'nolookup' which has known value here 2018-02-17 19:15:53 +01:00
rlar b7b6d9ace3 numparam, entry_type, #3/5, drop unused 'NUPA_POINTER'
'NUPA_POINTER' is nowhere assigned to storage
  thus 'nupa_type' variables can never have this value
2018-02-17 19:15:53 +01:00
rlar 09d92ba692 numparam, entry_type, #2/5, use a type-checked enum for 'nupa_type' 2018-02-17 19:15:53 +01:00
rlar 6a1c9f934c numparam, entry_type, #1/5, introduce typedef 'nupa_type' 2018-02-17 19:15:53 +01:00
rlar 21f2187530 numparam/xpressn.c, #5/5, drop unused assignment 2018-02-17 19:15:53 +01:00
rlar 1820f5547f numparam/xpressn.c, #4/5, use a local 'c' instead of 'dt' 2018-02-17 19:15:53 +01:00
rlar 85f48726ea numparam/xpressn.c, #3/5, whitespace 2018-02-17 19:15:53 +01:00
rlar 146ca72153 numparam/xpressn.c, #2/5, cleanup, drop 'err' and return early 2018-02-17 19:15:53 +01:00
rlar 303d78f616 numparam/xpressn.c, #1/5, cleanup, rewrite upside down
and use known variable values to instantly 'return'
instead of skipping some 'if' bodies
2018-02-17 19:15:53 +01:00
rlar bc0782aba1 numparam, #4/4, defsubckt(), use struct card * argument 2018-02-17 19:15:53 +01:00
rlar 2a149d7541 numparam, #3/4, nupa_scan(), use struct card * argument 2018-02-17 19:15:53 +01:00
rlar 77da3c6f26 numparam, #2/2, nupa_copy(), use struct card * argument 2018-02-17 19:15:53 +01:00
rlar 19dfaf03f3 numparam, #1/2, nupa_eval(), use struct card * argument 2018-02-17 19:15:53 +01:00
rlar ee489599cb struct card, #6/6, drop some redundant casts 2018-02-17 19:15:53 +01:00
rlar 4ec2717079 struct card, #5/6, rewrite from type "card" to "struct card" 2018-02-17 19:15:53 +01:00
rlar 10a353ebf4 struct card, #4/6, drop typedef card
For readability and to allow variables to have the name "card"
(avoid name collision with typedef "card")
2018-02-17 19:15:53 +01:00
rlar 511cdd7188 struct card, #3/6, rename members from struct line to struct card 2018-02-17 19:15:53 +01:00
rlar 981fed70ca struct card, #2/6, drop struct line
struct line is an overlay of struct card.
2018-02-17 19:15:53 +01:00
rlar 8d93511a96 struct card, #1/6, minor cleanup 2018-02-17 19:15:53 +01:00
rlar 121a46f9cb frontend/com_alias.c, asubst(), bug fix
wl_word can not be incremented,
  this is a pointer to malloc'ed space
  and will eventually be free'ed
2018-02-17 15:30:06 +01:00
rlar 41c0ee45a2 introduce GENinstanceFree() and GENmodelFree()
To abstract away the business of releasing the memory
  of a struct GENmodel or struct GENinstance.
2018-02-17 11:53:07 +01:00
rlar 8c7d7051ae GENmodel, GENinstance, change layout, #4/4, complete the change
currently each and every device specific instance and model structure
  duplicates the memory layout of a struct GENmodel / GENinstance

further the first structure elements behind a GENinstance header
  are reinterpreted as a sort of a generic "node" array.

This business is very error prone, and makes it difficult to
  extend struct GENmodel / struct GENinstance.

This patch makes this business much more bearable.
2018-02-17 11:53:06 +01:00
rlar 2c9bfecbad GENmodel, GENinstance, change layout, #3/4, coccinelle semantic patch 2018-02-17 11:53:05 +01:00
rlar c25aea6815 GENmodel, GENinstance, change layout, #2/4, complete the change
fix the .xml files too
2018-02-17 11:53:03 +01:00
rlar 2dcb79d09c GENmodel, GENinstance, change layout, #1/4, coccinelle semantic patch 2018-02-17 11:53:01 +01:00
rlar 4748c92de9 DEVdestroy(), change API, #2/2, complete the change, inclusive CKTdestroy()
loop over DEVmodDelete() and DEVdelete() in CKTdestroy()
  instead of doing this business in the DEVdestroy() functions.

As a consequence, most DEVdestroy() functions
  collapse completely.
2018-02-17 11:52:59 +01:00
rlar 1befa488f6 DEVdestroy(), change API, #1/2, coccinelle semantic patch 2018-02-17 11:52:58 +01:00
rlar b29ad51a6c DEVdestroy(), move code over to DEVmodDelete() and DEVdelete()
This patch itself is not valid until all invokers of DEVdestroy()
  (currently this is CKTdestroy() exclusively)
  are rewritten to invoke DEVmodDelete() and DEVdelete()
2018-02-17 11:52:55 +01:00
rlar 3cd81295a8 DEVmodDelete(), change API, #2/2, complete the change
Instead of searching and then deleting a given device-model,
  just delete the given model.

The search shall be done somewhere else.

Don't free the model struct itself,
  this shall be done by the invoker himself.

Don't free the device instrance list,
  this shall be done by the invoker himself.

As a consequence, most DEVmodDelete() functions
  collapse almost completely.

This change is of no consequence,
  because DEVmodDelete() is currently nowhere used.
2018-02-17 11:52:53 +01:00
rlar b17ee71576 DEVmodDelete(), change API, #1/2, coccinelle semantic patch 2018-02-17 11:52:51 +01:00
rlar 50e9a8c3b6 DEVmodDelete(), extend ASRCdelete() and use it in ASRCmDelete()
rip instance specific cleanup business from the ASRCmDelete() function.
move this to ASRCdelete()
2018-02-17 11:52:49 +01:00
rlar c3ed42f486 DEVdelete(), change API, #2/2, complete the change
Instead of searching and then deleting a given device-instance,
  just delete the given instance.

The search shall be done somewhere else.

Don't free the instance struct itself,
  this shall be done by the invoker.

As a consequence most DEVdelete() functions
  collapse almost completely.

This change is of no consequence,
  because DEVdelete() is currently nowhere used.
2018-02-17 11:52:46 +01:00
rlar e0f1e5a3de DEVdelete(), change API, #1/2, coccinelle semantic patch 2018-02-17 11:52:44 +01:00
rlar a8e440eabe whitespace cleanup, comments cleanup, line wrap 2018-02-14 18:53:30 +01:00
rlar ec4b7ffecd adms/admst/ngspiceMODULE*.c.xml, drop "register" declaration 2018-02-12 17:56:00 +01:00
rlar 57f9804db6 devices/adms/admst/ngspiceMODULEdel.c.xml, bug fix, endless loop
A missing update of "prev" would cause endless looping
  when searching for a device instance.

introduced in commit:
> commit 38e68869a2
> Date:   Wed Mar 1 14:30:24 2006 +0000
>
>     Added mdel, del and dest functions to interface.
2018-02-12 17:55:59 +01:00
rlar cd95ad62f2 devices/ndev/ndevdel.c, remove a redundant `return' 2018-02-12 17:55:58 +01:00