From f3fad2d3f3af38a53d9ac5be61c3fed192b9f85e Mon Sep 17 00:00:00 2001 From: Gregory Minshall Date: Mon, 18 May 1987 23:06:19 -0800 Subject: [PATCH] Fixes to make ScreenImage type NOT hardcoded. SCCS-vsn: usr.bin/tn3270/sys_curses/terminal.h 1.3 SCCS-vsn: usr.bin/tn3270/sys_curses/termout.c 1.10 --- usr/src/usr.bin/tn3270/sys_curses/terminal.h | 17 +++++++++-------- usr/src/usr.bin/tn3270/sys_curses/termout.c | 5 +++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/usr/src/usr.bin/tn3270/sys_curses/terminal.h b/usr/src/usr.bin/tn3270/sys_curses/terminal.h index d842a720c5..faba629a4d 100644 --- a/usr/src/usr.bin/tn3270/sys_curses/terminal.h +++ b/usr/src/usr.bin/tn3270/sys_curses/terminal.h @@ -11,11 +11,11 @@ * of us, here are some macros to deal with them. */ -#define TermAttributes(x) (TermIsStartField(x)? Terminal[x].data&0xff : \ - Terminal[WhereTermAttrByte(x)].data&0xff) -#define TermIsStartField(x) (Terminal[x].data&ATTR_MASK) -#define TermNewField(p,a) (Terminal[p].data = (a)|ATTR_MASK) -#define TermDeleteField(p) (Terminal[p].data = 0) +#define TermAttributes(x) (TermIsStartField(x)? GetTerminal(x)&0xff : \ + GetTerminal(WhereTermAttrByte(x))&0xff) +#define TermIsStartField(x) (GetTerminal(x)&ATTR_MASK) +#define TermNewField(p,a) SetTerminal(p, (a)|ATTR_MASK) +#define TermDeleteField(p) SetTerminal(p, 0) #define TermIsNonDisplay(x) \ ((TermAttributes(x)&ATTR_DSPD_MASK) == ATTR_DSPD_NONDISPLAY) #define TermIsHighlighted(x) \ @@ -39,7 +39,8 @@ ((c != GetTerminal(p)) || NeedToRedisplayFieldsAttr(p,a)) #define NeedToRedisplay(c,p) NeedToRedisplayAttr(c,p,FieldAttributes(p)) -#define GetTerminal(i) Terminal[i].data -#define SetTerminal(i,c) (Terminal[i].data = c) - #endif /* defined(SLOWSCREEN) */ + +#define GetTerminal(i) GetGeneric(i, Terminal) +#define GetTerminalPointer(p) GetGenericPointer(p) +#define SetTerminal(i,c) SetGeneric(i,c,Terminal) diff --git a/usr/src/usr.bin/tn3270/sys_curses/termout.c b/usr/src/usr.bin/tn3270/sys_curses/termout.c index 26e2c064b5..e57facfd0e 100644 --- a/usr/src/usr.bin/tn3270/sys_curses/termout.c +++ b/usr/src/usr.bin/tn3270/sys_curses/termout.c @@ -499,7 +499,8 @@ FastScreen() FastScreen(); /* Recurse */ return; } else if (fieldattr) { /* Should we display? */ - addch(disp_asc[p->data]); /* Display translated data */ + /* Display translated data */ + addch(disp_asc[GetTerminalPointer(p)]); } else { addch(' '); /* Display a blank */ } @@ -541,7 +542,7 @@ FastScreen() } else { if (fieldattr) { /* Should we display? */ /* Display translated data */ - *tmp++ = disp_asc[p->data]; + *tmp++ = disp_asc[GetTerminalPointer(p)]; } else { *tmp++ = ' '; } -- 2.20.1