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