diff --git a/log/include/log_action.h b/log/include/log_action.h index 11f417e00fc97be06a82b617cb7d9574024a5e25..d808d5aa96836075b6f7d067701aa19a42b216f6 100644 --- a/log/include/log_action.h +++ b/log/include/log_action.h @@ -4,6 +4,7 @@ #include"logdef.h" #include "gate.h" #include "wire.h" +#include "page.h" #include<limits.h> typedef enum diff --git a/log/include/logdef.h b/log/include/logdef.h index a6fd4f728588c4cf3d7aa85068b629f62195211c..027b2efd1b8422530a6294371cdc70b43533f60a 100644 --- a/log/include/logdef.h +++ b/log/include/logdef.h @@ -250,14 +250,6 @@ typedef struct log_brec { unsigned f7 : 1, f6 : 1, f5 : 1, f4 : 1, f3 : 1, f2 : 1, f1 : 1, f0 : 1; } log_brec; /* Dashed box */ -typedef struct log_regrec { - short pagenum, x1, y1, x2, y2; - long regstamp; - na_long info; - struct log_regrec *next; - int f7, f6, f5, f4, f3, f2, f1, f0; -} log_regrec; /* Sensitive region */ - typedef enum { simst_null, simst_off, simst_notactive, simst_notready, simst_running diff --git a/log/include/page.h b/log/include/page.h index 9fd62865a1c4336683b4b78d08623ee7bb8087c0..cdffd2865a66fc54081d5c2846325630937a80dd 100644 --- a/log/include/page.h +++ b/log/include/page.h @@ -1,8 +1,27 @@ #ifndef PAGE_H #define PAGE_H +typedef struct log_regrec { + short pagenum; + short x1, y1, x2, y2; + long regstamp; + na_long info; + struct log_regrec *next; + int f7, f6, f5, f4, f3, f2, f1, f0; +} log_regrec; /* Sensitive region */ + void chpage(short pg); void chpageplace(short pg, short x1, short y1, short x2, short y2); +int pageempty(short pg); + +int pagenull(short pg); + +int pagechanged(short pg); + +int anychanged(); + +void newpage(short pg); + #endif diff --git a/log/src/node.c b/log/src/node.c index 4054bb773d37829d0851b1fce00dec5b1f6d0087..ced7386adfec3988ee7a2e85ea4ca56ea9e667bf 100644 --- a/log/src/node.c +++ b/log/src/node.c @@ -374,13 +374,6 @@ void dumpnodes() void delgetnode(log_nrec **save, log_nrec **old, log_nrec **n) { - /* if save <> nil then - begin -n := save; --> Not safe! <-- -save := nil; -end -else -*/ copynode(*old, n); } @@ -635,3 +628,4 @@ int trycombinenodes(log_nrec **n1, log_nrec **n2) queuecombine(&cnbase, n1, n2); return (checkcombine(&cnbase)); } + diff --git a/log/src/page.c b/log/src/page.c index 975f6d900b1a652c69dbf9050bbc697528579733..b9ba5feb899a070c905a2f912ef8df3fae493aa7 100644 --- a/log/src/page.c +++ b/log/src/page.c @@ -39,7 +39,7 @@ void chpageplace(short pg, short x1, short y1, short x2, short y2) } -int pageempty(int pg) +int pageempty(short pg) { return (gg.gbase[pg - 1] == NULL && gg.hwbase[pg - 1] == NULL && gg.vwbase[pg - 1] == NULL && gg.bbase[pg - 1] == NULL && @@ -74,12 +74,12 @@ int anychanged() /*= =*/ /*================================================*/ -void newpage(short p) +void newpage(short pg) { short i; garbagecoll(); - for (i = gg.numpages; i < p; i++) + for (i = gg.numpages; i < pg; i++) { xoffp[i] = (origin + across / 2) * gg.scale / log_scale0 - across / 2; yoffp[i] = (origin + baseline / 2) * gg.scale / log_scale0 - baseline / 2; @@ -96,17 +96,17 @@ void newpage(short p) curfilename[i] = NULL; vlsimode[i] = vlsi; } - if (p != gg.curpage) + if (pg != gg.curpage) { xoffp[gg.curpage - 1] = gg.xoff; yoffp[gg.curpage - 1] = gg.yoff; - gg.xoff = xoffp[p - 1]; - gg.yoff = yoffp[p - 1]; - vlsi = vlsimode[p - 1]; + gg.xoff = xoffp[pg - 1]; + gg.yoff = yoffp[pg - 1]; + vlsi = vlsimode[pg - 1]; curwcolor = log_wcol_normal; - gg.numpages = P_imax2((long)p, gg.numpages); - gg.curpage = p; - realcurpage = p; + gg.numpages = P_imax2((long)pg, gg.numpages); + gg.curpage = pg; + realcurpage = pg; } while (gg.numpages > gg.curpage && pagenull((int)gg.numpages)) gg.numpages--; diff --git a/log/src/screen.c b/log/src/screen.c index 3b4258357ec34f27f184e223d58b97ffee62e3d4..e3f6c30247ca15cc8cff2a4c788025f8f9f34ad0 100644 --- a/log/src/screen.c +++ b/log/src/screen.c @@ -1984,9 +1984,6 @@ void drawnode(log_nrec *n) /*= =*/ /*================================================*/ -int pageempty (int pg); - - void refrpagedisp() { short num;