SCCS-vsn: usr.bin/tn3270/sys_curses/termout.c 1.2
SCCS-vsn: usr.bin/tn3270/sys_curses/terminal.h 1.2
* of us, here are some macros to deal with them.
*/
* of us, here are some macros to deal with them.
*/
-#define TermAttributes(x) (TermIsStartField(x)? Terminal[x].field&0xff : \
- Terminal[WhereTermAttrByte(x)].field&0xff)
-#define TermIsStartField(x) (Terminal[x].field&ATTR_MASK)
-#define TermNewField(p,a) (Terminal[p].field = (a)|ATTR_MASK)
-#define TermDeleteField(p) (Terminal[p].field = 0)
+#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 TermIsNonDisplay(x) \
((TermAttributes(x)&ATTR_DSPD_MASK) == ATTR_DSPD_NONDISPLAY)
#define TermIsHighlighted(x) \
#define TermIsNonDisplay(x) \
((TermAttributes(x)&ATTR_DSPD_MASK) == ATTR_DSPD_NONDISPLAY)
#define TermIsHighlighted(x) \
}
} else {
SetHighlightMode(pointer);
}
} else {
SetHighlightMode(pointer);
- /* The following will terminate at least when we get back
+ /*
+ * The following will terminate at least when we get back
* to the original 'pointer' location (since we force
* things to be equal).
*/
* to the original 'pointer' location (since we force
* things to be equal).
*/
columnsleft = NumberColumns-ScreenLineOffset(p-Host);
while (p <= upper) {
columnsleft = NumberColumns-ScreenLineOffset(p-Host);
while (p <= upper) {
- if (p->field & ATTR_MASK) { /* New field? */
+ if (IsStartFieldPointer(p)) { /* New field? */
Highest = HighestScreen();
Lowest = LowestScreen();
FastScreen(); /* Recurse */
Highest = HighestScreen();
Lowest = LowestScreen();
FastScreen(); /* Recurse */
DoAttribute(fieldattr); /* Set standout, non-display status */
while (p <= End) {
DoAttribute(fieldattr); /* Set standout, non-display status */
while (p <= End) {
- if (p->field & ATTR_MASK) { /* New field? */
+ if (IsStartFieldPointer(p)) { /* New field? */
if (tmp != tmpbuf) {
*tmp++ = 0; /* close out */
addstr(tmpbuf);
tmp = tmpbuf;
tmpend = tmpbuf + NumberColumns - ScreenLineOffset(p-Host);
}
if (tmp != tmpbuf) {
*tmp++ = 0; /* close out */
addstr(tmpbuf);
tmp = tmpbuf;
tmpend = tmpbuf + NumberColumns - ScreenLineOffset(p-Host);
}
- fieldattr = p->field; /* Get attributes */
+ fieldattr = FieldAttributesPointer(p); /* Get attributes */
DoAttribute(fieldattr); /* Set standout, non-display */
*tmp++ = ' ';
} else {
DoAttribute(fieldattr); /* Set standout, non-display */
*tmp++ = ' ';
} else {