From 1cdb83d82d3318a46cac040bc782c518fcb3135a Mon Sep 17 00:00:00 2001 From: Etienne Brateau <etienne.brateau@ensiie.fr> Date: Tue, 15 Jan 2019 20:56:20 +0100 Subject: [PATCH] Move node struct into node.h and rename some variables --- log/include/logdef.h | 13 +--- log/include/node.h | 15 ++++ log/include/tool.h | 1 + log/src/ana/capfloat.c | 1 + log/src/ana/diode1.c | 2 +- log/src/ana/ganglion.c | 2 +- log/src/ana/globals.c | 1 + log/src/ana/hres.c | 2 +- log/src/ana/idiff.c | 4 +- log/src/ana/inter.c | 2 +- log/src/ana/iscope.c | 2 +- log/src/ana/iswitch1.c | 2 +- log/src/ana/iswitch2.c | 2 +- log/src/ana/main.c | 2 +- log/src/ana/mmeter.c | 1 + log/src/ana/moscap.c | 2 +- log/src/ana/nfet4.c | 2 +- log/src/ana/nfet5.c | 2 +- log/src/ana/nfet7f.c | 2 +- log/src/ana/nfet7t.c | 2 +- log/src/ana/npn1.c | 2 +- log/src/ana/npn2.c | 2 +- log/src/ana/nspc1.c | 2 +- log/src/ana/pfet4.c | 2 +- log/src/ana/pfet5.c | 2 +- log/src/ana/pfet6.c | 3 +- log/src/ana/pfet7f.c | 1 + log/src/ana/pfet7t.c | 2 +- log/src/ana/pnp1.c | 2 +- log/src/ana/pnp2.c | 2 +- log/src/ana/pspc1.c | 3 +- log/src/ana/pwl.c | 2 +- log/src/ana/resfloat.c | 2 +- log/src/ana/rtd.c | 1 + log/src/ana/stairs.c | 2 +- log/src/ana/tc.c | 2 +- log/src/ana/vdiff.c | 2 +- log/src/ana/vswitch.c | 2 +- log/src/log.c | 25 +++---- log/src/loghier.c | 2 +- log/src/logntk.c | 1 + log/src/logsim.c | 1 + log/src/logsimasm.c | 2 + log/src/logsimh.c | 1 + log/src/logspc.c | 3 + log/src/node.c | 164 ++++++++++++++++++++--------------------- log/src/screen.c | 1 + log/src/tool.c | 1 + log/src/wire.c | 1 + 49 files changed, 155 insertions(+), 145 deletions(-) diff --git a/log/include/logdef.h b/log/include/logdef.h index a8f88db..7d1c27f 100644 --- a/log/include/logdef.h +++ b/log/include/logdef.h @@ -203,18 +203,7 @@ typedef struct log_pinposrec { short x, y; } log_pinposrec; -typedef struct log_nrec { - struct log_nrec *next; - na_long info; - struct log_tool *simtype; - struct log_nrec *confnext; - short ref; - log_gattrrec *attr; - na_long temp; - unsigned changed : 1, conflict : 1, oconflict : 1, flag : 1, keep : 1, - conflict1 : 1, conflict2 : 1, f8 : 1, f7 : 1, f6 : 1, f5 : 1, - f4 : 1, f3 : 1, f2 : 1, f1 : 1, f0 : 1; -} log_nrec; /* Node */ +typedef struct log_nrec log_nrec; /* Node */ typedef struct log_sigrec { char *name; diff --git a/log/include/node.h b/log/include/node.h index b72143c..a640390 100644 --- a/log/include/node.h +++ b/log/include/node.h @@ -2,6 +2,21 @@ #define NODE_H #include "logdef.h" +#include "logstructs.h" + +typedef struct log_nrec { + struct log_nrec *next; + na_long info; + struct log_tool *simtype; + struct log_nrec *confnext; + short ref; + log_gattrrec *attr; + na_long temp; + unsigned changed : 1, conflict : 1, oconflict : 1, flag : 1, keep : 1, + conflict1 : 1, conflict2 : 1, f8 : 1, f7 : 1, f6 : 1, f5 : 1, + f4 : 1, f3 : 1, f2 : 1, f1 : 1, f0 : 1; +} log_nrec; /* Node */ + void dumpnodes(); diff --git a/log/include/tool.h b/log/include/tool.h index abf0199..d96ac62 100644 --- a/log/include/tool.h +++ b/log/include/tool.h @@ -4,5 +4,6 @@ #include "logdef.h" void calltoolgate(log_grec *g, log_actionkinds act); +log_tool *findtool(char *name_); #endif diff --git a/log/src/ana/capfloat.c b/log/src/ana/capfloat.c index ba57f51..66586f2 100644 --- a/log/src/ana/capfloat.c +++ b/log/src/ana/capfloat.c @@ -25,6 +25,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/capfloat.h" +#include "node.h" #define N_Cap 1 #define Cstart 2 diff --git a/log/src/ana/diode1.c b/log/src/ana/diode1.c index e256ecc..1220680 100644 --- a/log/src/ana/diode1.c +++ b/log/src/ana/diode1.c @@ -25,7 +25,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/diode1.h" - +#include "node.h" #define N_Is 1 #define N_Ktqn 2 diff --git a/log/src/ana/ganglion.c b/log/src/ana/ganglion.c index ff751dc..04720aa 100644 --- a/log/src/ana/ganglion.c +++ b/log/src/ana/ganglion.c @@ -29,7 +29,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/ganglion.h" - +#include "node.h" #define N_CapVinGnd 1 #define N_CapVinVout 2 diff --git a/log/src/ana/globals.c b/log/src/ana/globals.c index de9a1c7..fa03ebc 100644 --- a/log/src/ana/globals.c +++ b/log/src/ana/globals.c @@ -35,6 +35,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define GLOBALS_G #include "ana/globals.h" +#include "node.h" #ifndef NEWCRT_H #include <p2c/newcrt.h> diff --git a/log/src/ana/hres.c b/log/src/ana/hres.c index 766795a..5047892 100644 --- a/log/src/ana/hres.c +++ b/log/src/ana/hres.c @@ -29,7 +29,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/hres.h" - +#include "node.h" #define N_Voffset 1 #define N_Ipos 2 diff --git a/log/src/ana/idiff.c b/log/src/ana/idiff.c index 9b5a169..22ffe03 100644 --- a/log/src/ana/idiff.c +++ b/log/src/ana/idiff.c @@ -26,9 +26,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> - - - +#include "node.h" #define IDIFF_G diff --git a/log/src/ana/inter.c b/log/src/ana/inter.c index 420003c..b1b39e6 100644 --- a/log/src/ana/inter.c +++ b/log/src/ana/inter.c @@ -31,7 +31,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define INTER_G #include "ana/inter.h" - +#include "node.h" static void log_histinit_32(log_action_t *Globals, int Voltage) diff --git a/log/src/ana/iscope.c b/log/src/ana/iscope.c index 49757e7..257b44c 100644 --- a/log/src/ana/iscope.c +++ b/log/src/ana/iscope.c @@ -27,7 +27,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/iscope.h" - +#include "node.h" #define N_Present 1 #define N_Format 2 diff --git a/log/src/ana/iswitch1.c b/log/src/ana/iswitch1.c index 2e8051a..6a6377e 100644 --- a/log/src/ana/iswitch1.c +++ b/log/src/ana/iswitch1.c @@ -27,7 +27,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/iswitch1.h" - +#include "node.h" /*For Attributes*/ diff --git a/log/src/ana/iswitch2.c b/log/src/ana/iswitch2.c index da5c1d9..c5d52df 100644 --- a/log/src/ana/iswitch2.c +++ b/log/src/ana/iswitch2.c @@ -29,7 +29,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define ISWITCH2_G #include "ana/iswitch2.h" - +#include "node.h" /*For Attributes*/ diff --git a/log/src/ana/main.c b/log/src/ana/main.c index 8ccc9bc..317dd4b 100644 --- a/log/src/ana/main.c +++ b/log/src/ana/main.c @@ -30,7 +30,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/nsolver.h" #include "ana/main.h" - +#include "node.h" #define newci_findprocedure findprocedure extern int findprocedure (char *name, void (**start)()); diff --git a/log/src/ana/mmeter.c b/log/src/ana/mmeter.c index 2137812..e6e24e0 100644 --- a/log/src/ana/mmeter.c +++ b/log/src/ana/mmeter.c @@ -27,6 +27,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/mmeter.h" +#include "node.h" #define N_Present 1 #define N_Format 2 diff --git a/log/src/ana/moscap.c b/log/src/ana/moscap.c index 643274d..8e236cd 100644 --- a/log/src/ana/moscap.c +++ b/log/src/ana/moscap.c @@ -29,7 +29,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/moscap.h" - +#include "node.h" #define N_Model 1 #define N_LinCap 2 diff --git a/log/src/ana/nfet4.c b/log/src/ana/nfet4.c index 44c3e58..f257389 100644 --- a/log/src/ana/nfet4.c +++ b/log/src/ana/nfet4.c @@ -28,7 +28,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/nfet4.h" - +#include "node.h" #define Cstart 1 #define N_Cgd 10 diff --git a/log/src/ana/nfet5.c b/log/src/ana/nfet5.c index 6d8f82f..560006b 100644 --- a/log/src/ana/nfet5.c +++ b/log/src/ana/nfet5.c @@ -27,7 +27,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/nfet5.h" - +#include "node.h" #define Cstart 1 #define N_Cgd 10 diff --git a/log/src/ana/nfet7f.c b/log/src/ana/nfet7f.c index bb5ffc3..30bbbfc 100644 --- a/log/src/ana/nfet7f.c +++ b/log/src/ana/nfet7f.c @@ -27,7 +27,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/nfet7f.h" - +#include "node.h" #define Cstart 1 #define N_Wdrawn 13 diff --git a/log/src/ana/nfet7t.c b/log/src/ana/nfet7t.c index 958fab1..8e44eb8 100644 --- a/log/src/ana/nfet7t.c +++ b/log/src/ana/nfet7t.c @@ -27,7 +27,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/nfet7t.h" - +#include "node.h" #define Cstart 1 #define N_Wdrawn 10 diff --git a/log/src/ana/npn1.c b/log/src/ana/npn1.c index f511136..859e481 100644 --- a/log/src/ana/npn1.c +++ b/log/src/ana/npn1.c @@ -25,7 +25,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/npn1.h" - +#include "node.h" #define Cstart 1 #define N_Cbc 10 diff --git a/log/src/ana/npn2.c b/log/src/ana/npn2.c index 023ba8d..adaa5c3 100644 --- a/log/src/ana/npn2.c +++ b/log/src/ana/npn2.c @@ -25,7 +25,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/npn2.h" - +#include "node.h" #define Cstart 1 #define N_Cbc 10 diff --git a/log/src/ana/nspc1.c b/log/src/ana/nspc1.c index 5882703..b6a910f 100644 --- a/log/src/ana/nspc1.c +++ b/log/src/ana/nspc1.c @@ -43,7 +43,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/nspc1.h" - +#include "node.h" #define Cstart 1 #define N_Cb 12 diff --git a/log/src/ana/pfet4.c b/log/src/ana/pfet4.c index 2429f05..6bb9cb6 100644 --- a/log/src/ana/pfet4.c +++ b/log/src/ana/pfet4.c @@ -26,7 +26,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/pfet4.h" - +#include "node.h" #define Cstart 1 #define N_Cgd 10 diff --git a/log/src/ana/pfet5.c b/log/src/ana/pfet5.c index c6a938d..5adcd25 100644 --- a/log/src/ana/pfet5.c +++ b/log/src/ana/pfet5.c @@ -27,7 +27,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/pfet5.h" - +#include "node.h" #define Cstart 1 #define N_Cgd 10 diff --git a/log/src/ana/pfet6.c b/log/src/ana/pfet6.c index 193fdd9..5d1ffeb 100644 --- a/log/src/ana/pfet6.c +++ b/log/src/ana/pfet6.c @@ -24,10 +24,9 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* From input file "swiss.text" */ - #include <p2c/p2c.h> #include "ana/pfet6.h" - +#include "node.h" #define Cstart 1 #define N_Cgd 13 diff --git a/log/src/ana/pfet7f.c b/log/src/ana/pfet7f.c index dc1d417..2771912 100644 --- a/log/src/ana/pfet7f.c +++ b/log/src/ana/pfet7f.c @@ -26,6 +26,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/pfet7f.h" +#include "node.h" #define Cstart 1 #define N_Wdrawn 13 diff --git a/log/src/ana/pfet7t.c b/log/src/ana/pfet7t.c index 3512fb5..1aaa5a8 100644 --- a/log/src/ana/pfet7t.c +++ b/log/src/ana/pfet7t.c @@ -24,9 +24,9 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* From input file "swiss.text" */ - #include <p2c/p2c.h> #include "ana/pfet7t.h" +#include "node.h" #define Cstart 1 #define N_Wdrawn 10 diff --git a/log/src/ana/pnp1.c b/log/src/ana/pnp1.c index bbf93ac..639ac24 100644 --- a/log/src/ana/pnp1.c +++ b/log/src/ana/pnp1.c @@ -25,7 +25,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/pnp1.h" - +#include "node.h" #define Cstart 1 #define N_Cbc 10 diff --git a/log/src/ana/pnp2.c b/log/src/ana/pnp2.c index e736b6e..9c25dde 100644 --- a/log/src/ana/pnp2.c +++ b/log/src/ana/pnp2.c @@ -25,7 +25,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/pnp2.h" - +#include "node.h" #define Cstart 1 #define N_Cbc 10 diff --git a/log/src/ana/pspc1.c b/log/src/ana/pspc1.c index 001c1ab..cfc8a45 100644 --- a/log/src/ana/pspc1.c +++ b/log/src/ana/pspc1.c @@ -42,10 +42,9 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* From input file "swiss.text" */ - #include <p2c/p2c.h> #include "ana/pspc1.h" - +#include "node.h" #define Cstart 1 #define N_Cb 12 diff --git a/log/src/ana/pwl.c b/log/src/ana/pwl.c index 0b15116..d8b93f6 100644 --- a/log/src/ana/pwl.c +++ b/log/src/ana/pwl.c @@ -83,7 +83,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #define PWL_G #include "ana/pwl.h" - +#include "node.h" /* Defaults */ #define D_NoDataFile "none" diff --git a/log/src/ana/resfloat.c b/log/src/ana/resfloat.c index 6153ad0..b13b33f 100644 --- a/log/src/ana/resfloat.c +++ b/log/src/ana/resfloat.c @@ -28,7 +28,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/resfloat.h" - +#include "node.h" #define N_Res 1 #define Cstart 2 diff --git a/log/src/ana/rtd.c b/log/src/ana/rtd.c index 48c30a8..05aae14 100644 --- a/log/src/ana/rtd.c +++ b/log/src/ana/rtd.c @@ -57,6 +57,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include <math.h> #include <p2c/p2c.h> #include "ana/rtd.h" +#include "node.h" /* Defaults */ #define D_Sharpness 100.0 diff --git a/log/src/ana/stairs.c b/log/src/ana/stairs.c index 5769ad2..300c313 100644 --- a/log/src/ana/stairs.c +++ b/log/src/ana/stairs.c @@ -27,7 +27,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/stairs.h" - +#include "node.h" /*For Attributes*/ diff --git a/log/src/ana/tc.c b/log/src/ana/tc.c index 5aeac7b..2760f2a 100644 --- a/log/src/ana/tc.c +++ b/log/src/ana/tc.c @@ -30,7 +30,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/tc.h" - +#include "node.h" #define Normal 0 #define Wide 1 diff --git a/log/src/ana/vdiff.c b/log/src/ana/vdiff.c index cadbd4f..22b115a 100644 --- a/log/src/ana/vdiff.c +++ b/log/src/ana/vdiff.c @@ -27,7 +27,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/vdiff.h" - +#include "node.h" /*For Attributes*/ diff --git a/log/src/ana/vswitch.c b/log/src/ana/vswitch.c index 6f79f19..30fb322 100644 --- a/log/src/ana/vswitch.c +++ b/log/src/ana/vswitch.c @@ -27,7 +27,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include "ana/vswitch.h" - +#include "node.h" /*For Attributes*/ diff --git a/log/src/log.c b/log/src/log.c index aad5f73..d9c654e 100644 --- a/log/src/log.c +++ b/log/src/log.c @@ -73,6 +73,7 @@ #include "node.h" #include "page.h" #include "utils.h" +#include "tool.h" char *GetChipmunkPath(); int findprocedure (char *name, void (**start)()); @@ -3360,38 +3361,30 @@ void confirmsimtype(log_nrec *n) void scancn (cnrec *cn, struct LOC_checkcombine *LINK); -/* Local variables for scancn: */ -struct LOC_scancn { - struct LOC_checkcombine *LINK; -} ; - -static void scan(log_nrec **n, struct LOC_scancn *LINK) +static void scan(log_nrec **n, struct LOC_checkcombine *LINK) { cnrec *cn; - if (!LINK->LINK->good) + if (!LINK->good) return; if (*n != NULL) - checknode(*n, LINK->LINK); - cn = *LINK->LINK->cnbase; - while (cn != NULL && LINK->LINK->good) + checknode(*n, LINK); + cn = LINK->cnbase; + while (cn != NULL && LINK->good) { if ((cn->n == *n && *n != NULL) || cn->np == n) - scancn(cn, LINK->LINK); + scancn(cn, LINK); cn = cn->next; } } void scancn(cnrec *cn, struct LOC_checkcombine *LINK) { - struct LOC_scancn V; - - V.LINK = LINK; if (cn->done) return; cn->done = true; - scan(&cn->n, &V); - scan(cn->np, &V); + scan(&cn->n, LINK); + scan(cn->np, LINK); } static void frysolder(short x, short y) diff --git a/log/src/loghier.c b/log/src/loghier.c index 8ba5f5f..0c9060f 100644 --- a/log/src/loghier.c +++ b/log/src/loghier.c @@ -33,7 +33,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include <p2c/strings.h> #include "loghier.h" - +#include "node.h" static log_action_t *lact; diff --git a/log/src/logntk.c b/log/src/logntk.c index e06b2f3..3ef6d60 100644 --- a/log/src/logntk.c +++ b/log/src/logntk.c @@ -38,6 +38,7 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <p2c/p2c.h> #include <p2c/strings.h> #include "logntk.h" +#include "node.h" #define main_name "-Main-" diff --git a/log/src/logsim.c b/log/src/logsim.c index ff426d5..95a8edf 100644 --- a/log/src/logsim.c +++ b/log/src/logsim.c @@ -40,6 +40,7 @@ #include <p2c/p2c.h> #include "logsim.h" +#include "node.h" #define newci_findprocedure findprocedure diff --git a/log/src/logsimasm.c b/log/src/logsimasm.c index eea138a..ead728f 100644 --- a/log/src/logsimasm.c +++ b/log/src/logsimasm.c @@ -30,6 +30,8 @@ #define LOGSIMA_G #include "logsima.h" +#include "node.h" + static int trace_16 = 0; #define trace_16 (logsima_action.lact->quiet ? -1 : 0) diff --git a/log/src/logsimh.c b/log/src/logsimh.c index f58e83b..91f75c7 100644 --- a/log/src/logsimh.c +++ b/log/src/logsimh.c @@ -38,6 +38,7 @@ #include <p2c/p2c.h> #include <p2c/strings.h> #include "logsimh.h" +#include "node.h" /* caged_date="R lastmoddate = '$X by $U';" */ diff --git a/log/src/logspc.c b/log/src/logspc.c index 6b37fcd..8fb44a2 100644 --- a/log/src/logspc.c +++ b/log/src/logspc.c @@ -80,6 +80,9 @@ Version Date Description /* Spice Globals */ +#include <p2c/p2c.h> +#include "node.h" + #define LOGSPC_VERSION "1.0 Beta" long m_ctr, x_ctr; /* spice counters */ diff --git a/log/src/node.c b/log/src/node.c index ced7386..50789cb 100644 --- a/log/src/node.c +++ b/log/src/node.c @@ -13,41 +13,41 @@ static log_nrec *freenode = NULL; -void newnptr(log_nrec **n) +void newnptr(log_nrec **node) { if (freenode == NULL) { - *n = (log_nrec *)Malloc(sizeof(log_nrec)); + *node = (log_nrec *)Malloc(sizeof(log_nrec)); } else { - *n = freenode; + *node = freenode; freenode = freenode->next; } } -void newnode(log_nrec **n, uchar st) +void newnode(log_nrec **node, uchar st) { - newnptr(n); - (*n)->simtype = findsimtype(st); - (*n)->changed = false; - (*n)->conflict = false; - (*n)->conflict1 = false; - (*n)->conflict2 = false; - (*n)->oconflict = false; - (*n)->flag = false; - (*n)->keep = false; - (*n)->ref = 0; - newattrs(&(*n)->attr, (*n)->simtype->nnumattrs, (*n)->simtype->nattr); - (*n)->info = (na_long)0; - (*n)->temp = (na_long)0; - stamp(&(*n)->simtype->netstamp); - calltoolnode(*n, act_newnode); - (*n)->next = gg.nbase; - gg.nbase = *n; + newnptr(node); + (*node)->simtype = findsimtype(st); + (*node)->changed = false; + (*node)->conflict = false; + (*node)->conflict1 = false; + (*node)->conflict2 = false; + (*node)->oconflict = false; + (*node)->flag = false; + (*node)->keep = false; + (*node)->ref = 0; + newattrs(&(*node)->attr, (*node)->simtype->nnumattrs, (*node)->simtype->nattr); + (*node)->info = (na_long)0; + (*node)->temp = (na_long)0; + stamp(&(*node)->simtype->netstamp); + calltoolnode(*node, act_newnode); + (*node)->next = gg.nbase; + gg.nbase = *node; if (gg.traceflag) - fprintf(tracefile, "Make node %ld\n", (long)(*n)); + fprintf(tracefile, "Make node %p\n", *node); } /*================== COPYNODE ==================*/ @@ -56,24 +56,24 @@ void newnode(log_nrec **n, uchar st) /*= =*/ /*================================================*/ -void copynode(log_nrec *old, log_nrec **n) +void copynode(log_nrec *old, log_nrec **node) { - newnptr(n); - **n = *old; - (*n)->ref = 0; - copyattrs(&(*n)->attr, old->attr, (*n)->simtype->nnumattrs, - (*n)->simtype->nattr); + newnptr(node); + **node = *old; + (*node)->ref = 0; + copyattrs(&(*node)->attr, old->attr, (*node)->simtype->nnumattrs, + (*node)->simtype->nattr); gg.actnode2 = old; - calltoolnode(*n, act_copynode); - (*n)->next = gg.nbase; - gg.nbase = *n; - if ((*n)->conflict || (*n)->oconflict) + calltoolnode(*node, act_copynode); + (*node)->next = gg.nbase; + gg.nbase = *node; + if ((*node)->conflict || (*node)->oconflict) { - (*n)->confnext = nodeconflictbase; - nodeconflictbase = *n; + (*node)->confnext = nodeconflictbase; + nodeconflictbase = *node; } if (gg.traceflag) - fprintf(tracefile, "Copy node %ld from %ld\n", (long)(*n), (long)old); + fprintf(tracefile, "Copy node %p from %p\n", *node, old); } @@ -83,29 +83,29 @@ void copynode(log_nrec *old, log_nrec **n) /*= =*/ /*================================================*/ -void disposenptr(log_nrec **n) +void disposenptr(log_nrec **node) { - (*n)->next = freenode; - freenode = *n; + (*node)->next = freenode; + freenode = *node; } #define rtn "DISPNODE" -void disposenode(log_nrec **n) +void disposenode(log_nrec **node) { log_nrec *n1, *n2; if (gg.traceflag) - fprintf(tracefile, "Dispose node %ld\n", (long)(*n)); - if (*n == NULL) + fprintf(tracefile, "Dispose node %p\n", *node); + if (*node == NULL) return; - if ((*n)->conflict || (*n)->oconflict) + if ((*node)->conflict || (*node)->oconflict) { n1 = nodeconflictbase; n2 = NULL; - while (n1 != NULL && n1 != *n) + while (n1 != NULL && n1 != *node) { n2 = n1; n1 = n1->confnext; @@ -113,93 +113,93 @@ void disposenode(log_nrec **n) if (n1 == NULL) report(11, rtn); else if (n2 == NULL) - nodeconflictbase = (*n)->confnext; + nodeconflictbase = (*node)->confnext; else - n2->confnext = (*n)->confnext; + n2->confnext = (*node)->confnext; } - if (*n == gg.probenode) + if (*node == gg.probenode) gg.probenode = NULL; - stamp(&(*n)->simtype->netstamp); - calltoolnode(*n, act_disposenode); + stamp(&(*node)->simtype->netstamp); + calltoolnode(*node, act_disposenode); n1 = gg.nbase; - if (*n == n1) + if (*node == n1) { - gg.nbase = (*n)->next; + gg.nbase = (*node)->next; } else { - while (n1 != NULL && n1->next != *n) + while (n1 != NULL && n1->next != *node) n1 = n1->next; if (n1 == NULL) report(10, rtn); else - n1->next = (*n)->next; + n1->next = (*node)->next; } - disposeattrs(&(*n)->attr, (*n)->simtype->nnumattrs, (*n)->simtype->nattr); - disposenptr(n); + disposeattrs(&(*node)->attr, (*node)->simtype->nnumattrs, (*node)->simtype->nattr); + disposenptr(node); } #undef rtn -int nodeexists(log_nrec *n) +int nodeexists(log_nrec *node) { log_nrec *n1; n1 = gg.nbase; - while (n1 != NULL && n1 != n) + while (n1 != NULL && n1 != node) n1 = n1->next; - return (n1 != NULL); + return n1 != NULL; } -void newnoderef(log_nrec **n, uchar st, long ref) +void newnoderef(log_nrec **node, uchar st, long ref) { - newnode(n, st); - (*n)->ref = ref; + newnode(node, st); + (*node)->ref = ref; } -log_nrec *refnode(log_nrec *n) +log_nrec *refnode(log_nrec *node) { - if (n == NULL) - return n; - n->ref++; + if (node == NULL) + return node; + node->ref++; if (gg.traceflag) - fprintf(tracefile, "Reference node %ld -> %d\n", (long)n, n->ref); - return n; + fprintf(tracefile, "Reference node %p -> %d\n", node, node->ref); + return node; } #define rtn "UNREFNODE" -void unrefnode(log_nrec **n) +void unrefnode(log_nrec **node) { - if (*n == NULL) + if (*node == NULL) return; - (*n)->ref--; + (*node)->ref--; if (gg.traceflag) - fprintf(tracefile, "Unref node %ld -> %d\n", (long)(*n), (*n)->ref); - if ((*n)->ref > 0) + fprintf(tracefile, "Unref node %p -> %d\n", *node, (*node)->ref); + if ((*node)->ref > 0) return; - if ((*n)->ref < 0) + if ((*node)->ref < 0) report(10, rtn); else { - if (!(*n)->keep) - disposenode(n); + if (!(*node)->keep) + disposenode(node); } } #undef rtn -void switchnode(log_nrec **n, log_nrec *n2) +void switchnode(log_nrec **node, log_nrec *n2) { - if (*n != n2) + if (*node != n2) { - unrefnode(n); - *n = refnode(n2); + unrefnode(node); + *node = refnode(n2); } } @@ -243,8 +243,8 @@ void dumpnodes() while (j == i && n != NULL) { i++; - fprintf(tracefile, "%12ld T:%s Ref:%d", - (long)n, n->simtype->name, n->ref); + fprintf(tracefile, "%p T:%s Ref:%d", + n, n->simtype->name, n->ref); FORLIM = gg.lastsignal; for (j = 0; j < FORLIM; j++) { @@ -372,9 +372,9 @@ void dumpnodes() "\n\n-------------------------------------------------------------------------\n\n\n"); } -void delgetnode(log_nrec **save, log_nrec **old, log_nrec **n) +void delgetnode(log_nrec **save, log_nrec **old, log_nrec **node) { - copynode(*old, n); + copynode(*old, node); } #define rtn "COMBINENODES" diff --git a/log/src/screen.c b/log/src/screen.c index af7f075..2fe692d 100644 --- a/log/src/screen.c +++ b/log/src/screen.c @@ -37,6 +37,7 @@ #include "logfont.h" #include "utils.h" #include "screen.h" +#include "node.h" static rablistrec rabtable[rabtabsize]; /* Positions of rabbits */ diff --git a/log/src/tool.c b/log/src/tool.c index d82db46..7f27ab3 100644 --- a/log/src/tool.c +++ b/log/src/tool.c @@ -4,6 +4,7 @@ #include "logdef.h" #include "logglobals.h" #include "utils.h" +#include "node.h" void newtool(log_tool **t, char *name) { diff --git a/log/src/wire.c b/log/src/wire.c index 79598b7..f8ad535 100644 --- a/log/src/wire.c +++ b/log/src/wire.c @@ -5,6 +5,7 @@ #include "logdef.h" #include "utils.h" #include "wire.h" +#include "node.h" void fryhwire(log_hwrec *hw); void fryvwire(log_vwrec *vw); -- GitLab