Commit 59cc5797f9289a9f37ce94ec7c14c2a86c7d6bd5
1 parent
765a141d
Exists in
master
and in
3 other branches
Movendo mais campos para a estrutura de sessao
Showing
4 changed files
with
167 additions
and
169 deletions
Show diff stats
ctlr.c
@@ -52,12 +52,10 @@ | @@ -52,12 +52,10 @@ | ||
52 | #include "ft_dftc.h" | 52 | #include "ft_dftc.h" |
53 | #include "hostc.h" | 53 | #include "hostc.h" |
54 | #include "kybdc.h" | 54 | #include "kybdc.h" |
55 | -// #include "macrosc.h" | ||
56 | #include "popupsc.h" | 55 | #include "popupsc.h" |
57 | #include "screenc.h" | 56 | #include "screenc.h" |
58 | #include "scrollc.h" | 57 | #include "scrollc.h" |
59 | #include "seec.h" | 58 | #include "seec.h" |
60 | -// #include "selectc.h" | ||
61 | #include "sfc.h" | 59 | #include "sfc.h" |
62 | #include "statusc.h" | 60 | #include "statusc.h" |
63 | #include "tablesc.h" | 61 | #include "tablesc.h" |
@@ -76,7 +74,7 @@ extern unsigned char aid; | @@ -76,7 +74,7 @@ extern unsigned char aid; | ||
76 | //int maxCOLS = 0; | 74 | //int maxCOLS = 0; |
77 | // int cursor_addr; | 75 | // int cursor_addr; |
78 | 76 | ||
79 | -int buffer_addr; | 77 | +// int buffer_addr; |
80 | // Boolean screen_alt = False; /* alternate screen? */ | 78 | // Boolean screen_alt = False; /* alternate screen? */ |
81 | // Boolean is_altbuffer = False; | 79 | // Boolean is_altbuffer = False; |
82 | 80 | ||
@@ -180,8 +178,8 @@ void ctlr_reinit(H3270 *session, unsigned cmask) | @@ -180,8 +178,8 @@ void ctlr_reinit(H3270 *session, unsigned cmask) | ||
180 | 178 | ||
181 | Replace(zero_buf, (unsigned char *)Calloc(sizeof(struct ea),sz)); | 179 | Replace(zero_buf, (unsigned char *)Calloc(sizeof(struct ea),sz)); |
182 | 180 | ||
183 | - session->cursor_addr = 0; | ||
184 | - buffer_addr = 0; | 181 | + session->cursor_addr = 0; |
182 | + session->buffer_addr = 0; | ||
185 | } | 183 | } |
186 | } | 184 | } |
187 | 185 | ||
@@ -1161,12 +1159,12 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1161,12 +1159,12 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1161 | /* XXX: Should there be a ctlr_add_cs call here? */ | 1159 | /* XXX: Should there be a ctlr_add_cs call here? */ |
1162 | #define START_FIELD(fa) { \ | 1160 | #define START_FIELD(fa) { \ |
1163 | current_fa = fa; \ | 1161 | current_fa = fa; \ |
1164 | - ctlr_add_fa(buffer_addr, fa, 0); \ | ||
1165 | - ctlr_add_cs(buffer_addr, 0); \ | ||
1166 | - ctlr_add_fg(buffer_addr, 0); \ | ||
1167 | - ctlr_add_bg(buffer_addr, 0); \ | ||
1168 | - ctlr_add_gr(buffer_addr, 0); \ | ||
1169 | - ctlr_add_ic(buffer_addr, 0); \ | 1162 | + ctlr_add_fa(h3270.buffer_addr, fa, 0); \ |
1163 | + ctlr_add_cs(h3270.buffer_addr, 0); \ | ||
1164 | + ctlr_add_fg(h3270.buffer_addr, 0); \ | ||
1165 | + ctlr_add_bg(h3270.buffer_addr, 0); \ | ||
1166 | + ctlr_add_gr(h3270.buffer_addr, 0); \ | ||
1167 | + ctlr_add_ic(h3270.buffer_addr, 0); \ | ||
1170 | trace_ds("%s",see_attr(fa)); \ | 1168 | trace_ds("%s",see_attr(fa)); \ |
1171 | h3270.formatted = True; \ | 1169 | h3270.formatted = True; \ |
1172 | } | 1170 | } |
@@ -1182,7 +1180,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1182,7 +1180,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1182 | default_cs = 0; | 1180 | default_cs = 0; |
1183 | default_ic = 0; | 1181 | default_ic = 0; |
1184 | trace_primed = True; | 1182 | trace_primed = True; |
1185 | - buffer_addr = h3270.cursor_addr; | 1183 | + h3270.buffer_addr = h3270.cursor_addr; |
1186 | if (WCC_RESET(buf[1])) { | 1184 | if (WCC_RESET(buf[1])) { |
1187 | if (erase) | 1185 | if (erase) |
1188 | reply_mode = SF_SRM_FIELD; | 1186 | reply_mode = SF_SRM_FIELD; |
@@ -1220,7 +1218,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1220,7 +1218,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1220 | 1218 | ||
1221 | last_cmd = True; | 1219 | last_cmd = True; |
1222 | last_zpt = False; | 1220 | last_zpt = False; |
1223 | - current_fa = get_field_attribute(&h3270,buffer_addr); | 1221 | + current_fa = get_field_attribute(&h3270,h3270.buffer_addr); |
1224 | 1222 | ||
1225 | #define ABORT_WRITEx { \ | 1223 | #define ABORT_WRITEx { \ |
1226 | rv = PDS_BAD_ADDR; \ | 1224 | rv = PDS_BAD_ADDR; \ |
@@ -1241,22 +1239,23 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1241,22 +1239,23 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1241 | previous = ORDER; | 1239 | previous = ORDER; |
1242 | cp++; /* skip field attribute */ | 1240 | cp++; /* skip field attribute */ |
1243 | START_FIELD(*cp); | 1241 | START_FIELD(*cp); |
1244 | - ctlr_add_fg(buffer_addr, 0); | ||
1245 | - ctlr_add_bg(buffer_addr, 0); | ||
1246 | - INC_BA(buffer_addr); | 1242 | + ctlr_add_fg(h3270.buffer_addr, 0); |
1243 | + ctlr_add_bg(h3270.buffer_addr, 0); | ||
1244 | + INC_BA(h3270.buffer_addr); | ||
1247 | last_cmd = True; | 1245 | last_cmd = True; |
1248 | last_zpt = False; | 1246 | last_zpt = False; |
1249 | break; | 1247 | break; |
1250 | case ORDER_SBA: /* set buffer address */ | 1248 | case ORDER_SBA: /* set buffer address */ |
1251 | cp += 2; /* skip buffer address */ | 1249 | cp += 2; /* skip buffer address */ |
1252 | - buffer_addr = DECODE_BADDR(*(cp-1), *cp); | 1250 | + h3270.buffer_addr = DECODE_BADDR(*(cp-1), *cp); |
1253 | END_TEXT("SetBufferAddress"); | 1251 | END_TEXT("SetBufferAddress"); |
1254 | previous = SBA; | 1252 | previous = SBA; |
1255 | - trace_ds("%s",rcba(buffer_addr)); | ||
1256 | - if (buffer_addr >= h3270.cols * h3270.rows) { | 1253 | + trace_ds("%s",rcba(h3270.buffer_addr)); |
1254 | + if (h3270.buffer_addr >= h3270.cols * h3270.rows) | ||
1255 | + { | ||
1257 | ABORT_WRITE("invalid SBA address"); | 1256 | ABORT_WRITE("invalid SBA address"); |
1258 | } | 1257 | } |
1259 | - current_fa = get_field_attribute(&h3270,buffer_addr); | 1258 | + current_fa = get_field_attribute(&h3270,h3270.buffer_addr); |
1260 | last_cmd = True; | 1259 | last_cmd = True; |
1261 | last_zpt = False; | 1260 | last_zpt = False; |
1262 | break; | 1261 | break; |
@@ -1265,7 +1264,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1265,7 +1264,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1265 | if (previous != SBA) | 1264 | if (previous != SBA) |
1266 | trace_ds("%s",rcba(buffer_addr)); | 1265 | trace_ds("%s",rcba(buffer_addr)); |
1267 | previous = ORDER; | 1266 | previous = ORDER; |
1268 | - cursor_move(buffer_addr); | 1267 | + cursor_move(h3270.buffer_addr); |
1269 | last_cmd = True; | 1268 | last_cmd = True; |
1270 | last_zpt = False; | 1269 | last_zpt = False; |
1271 | break; | 1270 | break; |
@@ -1277,9 +1276,9 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1277,9 +1276,9 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1277 | * of an unprotected field, simply advance one | 1276 | * of an unprotected field, simply advance one |
1278 | * position. | 1277 | * position. |
1279 | */ | 1278 | */ |
1280 | - if (h3270.ea_buf[buffer_addr].fa && | ||
1281 | - !FA_IS_PROTECTED(h3270.ea_buf[buffer_addr].fa)) { | ||
1282 | - INC_BA(buffer_addr); | 1279 | + if (h3270.ea_buf[h3270.buffer_addr].fa && |
1280 | + !FA_IS_PROTECTED(h3270.ea_buf[h3270.buffer_addr].fa)) { | ||
1281 | + INC_BA(h3270.buffer_addr); | ||
1283 | last_zpt = False; | 1282 | last_zpt = False; |
1284 | last_cmd = True; | 1283 | last_cmd = True; |
1285 | break; | 1284 | break; |
@@ -1288,8 +1287,8 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1288,8 +1287,8 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1288 | * Otherwise, advance to the first position of the | 1287 | * Otherwise, advance to the first position of the |
1289 | * next unprotected field. | 1288 | * next unprotected field. |
1290 | */ | 1289 | */ |
1291 | - baddr = next_unprotected(buffer_addr); | ||
1292 | - if (baddr < buffer_addr) | 1290 | + baddr = next_unprotected(h3270.buffer_addr); |
1291 | + if (baddr < h3270.buffer_addr) | ||
1293 | baddr = 0; | 1292 | baddr = 0; |
1294 | /* | 1293 | /* |
1295 | * Null out the remainder of the current field -- even | 1294 | * Null out the remainder of the current field -- even |
@@ -1300,21 +1299,21 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1300,21 +1299,21 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1300 | */ | 1299 | */ |
1301 | if (!last_cmd || last_zpt) { | 1300 | if (!last_cmd || last_zpt) { |
1302 | trace_ds("(nulling)"); | 1301 | trace_ds("(nulling)"); |
1303 | - while ((buffer_addr != baddr) && | ||
1304 | - (!h3270.ea_buf[buffer_addr].fa)) { | ||
1305 | - ctlr_add(buffer_addr, EBC_null, 0); | ||
1306 | - ctlr_add_cs(buffer_addr, 0); | ||
1307 | - ctlr_add_fg(buffer_addr, 0); | ||
1308 | - ctlr_add_bg(buffer_addr, 0); | ||
1309 | - ctlr_add_gr(buffer_addr, 0); | ||
1310 | - ctlr_add_ic(buffer_addr, 0); | ||
1311 | - INC_BA(buffer_addr); | 1302 | + while ((h3270.buffer_addr != baddr) && |
1303 | + (!h3270.ea_buf[h3270.buffer_addr].fa)) { | ||
1304 | + ctlr_add(h3270.buffer_addr, EBC_null, 0); | ||
1305 | + ctlr_add_cs(h3270.buffer_addr, 0); | ||
1306 | + ctlr_add_fg(h3270.buffer_addr, 0); | ||
1307 | + ctlr_add_bg(h3270.buffer_addr, 0); | ||
1308 | + ctlr_add_gr(h3270.buffer_addr, 0); | ||
1309 | + ctlr_add_ic(h3270.buffer_addr, 0); | ||
1310 | + INC_BA(h3270.buffer_addr); | ||
1312 | } | 1311 | } |
1313 | if (baddr == 0) | 1312 | if (baddr == 0) |
1314 | last_zpt = True; | 1313 | last_zpt = True; |
1315 | } else | 1314 | } else |
1316 | last_zpt = False; | 1315 | last_zpt = False; |
1317 | - buffer_addr = baddr; | 1316 | + h3270.buffer_addr = baddr; |
1318 | last_cmd = True; | 1317 | last_cmd = True; |
1319 | break; | 1318 | break; |
1320 | case ORDER_RA: /* repeat to address */ | 1319 | case ORDER_RA: /* repeat to address */ |
@@ -1389,34 +1388,34 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1389,34 +1388,34 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1389 | } | 1388 | } |
1390 | do { | 1389 | do { |
1391 | if (add_dbcs) { | 1390 | if (add_dbcs) { |
1392 | - ctlr_add(buffer_addr, add_c1, | 1391 | + ctlr_add(h3270.buffer_addr, add_c1, |
1393 | default_cs); | 1392 | default_cs); |
1394 | } else { | 1393 | } else { |
1395 | if (ra_ge) | 1394 | if (ra_ge) |
1396 | - ctlr_add(buffer_addr, add_c1, | 1395 | + ctlr_add(h3270.buffer_addr, add_c1, |
1397 | CS_GE); | 1396 | CS_GE); |
1398 | else if (default_cs) | 1397 | else if (default_cs) |
1399 | - ctlr_add(buffer_addr, add_c1, | 1398 | + ctlr_add(h3270.buffer_addr, add_c1, |
1400 | default_cs); | 1399 | default_cs); |
1401 | else | 1400 | else |
1402 | - ctlr_add(buffer_addr, add_c1, | 1401 | + ctlr_add(h3270.buffer_addr, add_c1, |
1403 | 0); | 1402 | 0); |
1404 | } | 1403 | } |
1405 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1406 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1407 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1408 | - INC_BA(buffer_addr); | 1404 | + ctlr_add_fg(h3270.buffer_addr, default_fg); |
1405 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1406 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1407 | + INC_BA(h3270.buffer_addr); | ||
1409 | if (add_dbcs) { | 1408 | if (add_dbcs) { |
1410 | - ctlr_add(buffer_addr, add_c2, | 1409 | + ctlr_add(h3270.buffer_addr, add_c2, |
1411 | default_cs); | 1410 | default_cs); |
1412 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1413 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1414 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1415 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1416 | - INC_BA(buffer_addr); | 1411 | + ctlr_add_fg(h3270.buffer_addr, default_fg); |
1412 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1413 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1414 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1415 | + INC_BA(h3270.buffer_addr); | ||
1417 | } | 1416 | } |
1418 | - } while (buffer_addr != baddr); | ||
1419 | - current_fa = get_field_attribute(&h3270,buffer_addr); | 1417 | + } while (h3270.buffer_addr != baddr); |
1418 | + current_fa = get_field_attribute(&h3270,h3270.buffer_addr); | ||
1420 | last_cmd = True; | 1419 | last_cmd = True; |
1421 | last_zpt = False; | 1420 | last_zpt = False; |
1422 | break; | 1421 | break; |
@@ -1439,15 +1438,15 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1439,15 +1438,15 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1439 | ABORT_WRITE("EUA overwriting left half of DBCS character"); | 1438 | ABORT_WRITE("EUA overwriting left half of DBCS character"); |
1440 | } | 1439 | } |
1441 | do { | 1440 | do { |
1442 | - if (h3270.ea_buf[buffer_addr].fa) | ||
1443 | - current_fa = h3270.ea_buf[buffer_addr].fa; | 1441 | + if (h3270.ea_buf[h3270.buffer_addr].fa) |
1442 | + current_fa = h3270.ea_buf[h3270.buffer_addr].fa; | ||
1444 | else if (!FA_IS_PROTECTED(current_fa)) { | 1443 | else if (!FA_IS_PROTECTED(current_fa)) { |
1445 | - ctlr_add(buffer_addr, EBC_null, | 1444 | + ctlr_add(h3270.buffer_addr, EBC_null, |
1446 | CS_BASE); | 1445 | CS_BASE); |
1447 | } | 1446 | } |
1448 | - INC_BA(buffer_addr); | ||
1449 | - } while (buffer_addr != baddr); | ||
1450 | - current_fa = get_field_attribute(&h3270,buffer_addr); | 1447 | + INC_BA(h3270.buffer_addr); |
1448 | + } while (h3270.buffer_addr != baddr); | ||
1449 | + current_fa = get_field_attribute(&h3270,h3270.buffer_addr); | ||
1451 | last_cmd = True; | 1450 | last_cmd = True; |
1452 | last_zpt = False; | 1451 | last_zpt = False; |
1453 | break; | 1452 | break; |
@@ -1461,13 +1460,13 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1461,13 +1460,13 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1461 | trace_ds("%s", see_ebc(*cp)); | 1460 | trace_ds("%s", see_ebc(*cp)); |
1462 | if (*cp) | 1461 | if (*cp) |
1463 | trace_ds("'"); | 1462 | trace_ds("'"); |
1464 | - ctlr_add(buffer_addr, *cp, CS_GE); | ||
1465 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1466 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1467 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1468 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1469 | - INC_BA(buffer_addr); | ||
1470 | - current_fa = get_field_attribute(&h3270,buffer_addr); | 1463 | + ctlr_add(h3270.buffer_addr, *cp, CS_GE); |
1464 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1465 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1466 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1467 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1468 | + INC_BA(h3270.buffer_addr); | ||
1469 | + current_fa = get_field_attribute(&h3270,h3270.buffer_addr); | ||
1471 | last_cmd = False; | 1470 | last_cmd = False; |
1472 | last_zpt = False; | 1471 | last_zpt = False; |
1473 | break; | 1472 | break; |
@@ -1478,14 +1477,14 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1478,14 +1477,14 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1478 | previous = ORDER; | 1477 | previous = ORDER; |
1479 | cp++; | 1478 | cp++; |
1480 | na = *cp; | 1479 | na = *cp; |
1481 | - if (h3270.ea_buf[buffer_addr].fa) { | 1480 | + if (h3270.ea_buf[h3270.buffer_addr].fa) { |
1482 | for (i = 0; i < (int)na; i++) { | 1481 | for (i = 0; i < (int)na; i++) { |
1483 | cp++; | 1482 | cp++; |
1484 | if (*cp == XA_3270) { | 1483 | if (*cp == XA_3270) { |
1485 | trace_ds(" 3270"); | 1484 | trace_ds(" 3270"); |
1486 | cp++; | 1485 | cp++; |
1487 | - ctlr_add_fa(buffer_addr, *cp, | ||
1488 | - h3270.ea_buf[buffer_addr].cs); | 1486 | + ctlr_add_fa(h3270.buffer_addr, *cp, |
1487 | + h3270.ea_buf[h3270.buffer_addr].cs); | ||
1489 | trace_ds("%s",see_attr(*cp)); | 1488 | trace_ds("%s",see_attr(*cp)); |
1490 | } else if (*cp == XA_FOREGROUND) { | 1489 | } else if (*cp == XA_FOREGROUND) { |
1491 | trace_ds("%s", | 1490 | trace_ds("%s", |
@@ -1493,20 +1492,20 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1493,20 +1492,20 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1493 | *(cp + 1))); | 1492 | *(cp + 1))); |
1494 | cp++; | 1493 | cp++; |
1495 | if (appres.m3279) | 1494 | if (appres.m3279) |
1496 | - ctlr_add_fg(buffer_addr, *cp); | 1495 | + ctlr_add_fg(h3270.buffer_addr, *cp); |
1497 | } else if (*cp == XA_BACKGROUND) { | 1496 | } else if (*cp == XA_BACKGROUND) { |
1498 | trace_ds("%s", | 1497 | trace_ds("%s", |
1499 | see_efa(*cp, | 1498 | see_efa(*cp, |
1500 | *(cp + 1))); | 1499 | *(cp + 1))); |
1501 | cp++; | 1500 | cp++; |
1502 | if (appres.m3279) | 1501 | if (appres.m3279) |
1503 | - ctlr_add_bg(buffer_addr, *cp); | 1502 | + ctlr_add_bg(h3270.buffer_addr, *cp); |
1504 | } else if (*cp == XA_HIGHLIGHTING) { | 1503 | } else if (*cp == XA_HIGHLIGHTING) { |
1505 | trace_ds("%s", | 1504 | trace_ds("%s", |
1506 | see_efa(*cp, | 1505 | see_efa(*cp, |
1507 | *(cp + 1))); | 1506 | *(cp + 1))); |
1508 | cp++; | 1507 | cp++; |
1509 | - ctlr_add_gr(buffer_addr, *cp & 0x0f); | 1508 | + ctlr_add_gr(h3270.buffer_addr, *cp & 0x0f); |
1510 | } else if (*cp == XA_CHARSET) { | 1509 | } else if (*cp == XA_CHARSET) { |
1511 | int cs = 0; | 1510 | int cs = 0; |
1512 | 1511 | ||
@@ -1518,7 +1517,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1518,7 +1517,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1518 | cs = CS_APL; | 1517 | cs = CS_APL; |
1519 | else if (*cp == 0xf8) | 1518 | else if (*cp == 0xf8) |
1520 | cs = CS_DBCS; | 1519 | cs = CS_DBCS; |
1521 | - ctlr_add_cs(buffer_addr, cs); | 1520 | + ctlr_add_cs(h3270.buffer_addr, cs); |
1522 | } else if (*cp == XA_ALL) { | 1521 | } else if (*cp == XA_ALL) { |
1523 | trace_ds("%s", | 1522 | trace_ds("%s", |
1524 | see_efa(*cp, | 1523 | see_efa(*cp, |
@@ -1528,7 +1527,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1528,7 +1527,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1528 | trace_ds("%s", | 1527 | trace_ds("%s", |
1529 | see_efa(*cp, | 1528 | see_efa(*cp, |
1530 | *(cp + 1))); | 1529 | *(cp + 1))); |
1531 | - ctlr_add_ic(buffer_addr, | 1530 | + ctlr_add_ic(h3270.buffer_addr, |
1532 | (*(cp + 1) == 1)); | 1531 | (*(cp + 1) == 1)); |
1533 | cp++; | 1532 | cp++; |
1534 | } else { | 1533 | } else { |
@@ -1536,7 +1535,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1536,7 +1535,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1536 | cp++; | 1535 | cp++; |
1537 | } | 1536 | } |
1538 | } | 1537 | } |
1539 | - INC_BA(buffer_addr); | 1538 | + INC_BA(h3270.buffer_addr); |
1540 | } else | 1539 | } else |
1541 | cp += na * 2; | 1540 | cp += na * 2; |
1542 | last_cmd = True; | 1541 | last_cmd = True; |
@@ -1600,12 +1599,12 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1600,12 +1599,12 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1600 | } | 1599 | } |
1601 | if (!any_fa) | 1600 | if (!any_fa) |
1602 | START_FIELD(0); | 1601 | START_FIELD(0); |
1603 | - ctlr_add_cs(buffer_addr, efa_cs); | ||
1604 | - ctlr_add_fg(buffer_addr, efa_fg); | ||
1605 | - ctlr_add_bg(buffer_addr, efa_bg); | ||
1606 | - ctlr_add_gr(buffer_addr, efa_gr); | ||
1607 | - ctlr_add_ic(buffer_addr, efa_ic); | ||
1608 | - INC_BA(buffer_addr); | 1602 | + ctlr_add_cs(h3270.buffer_addr, efa_cs); |
1603 | + ctlr_add_fg(h3270.buffer_addr, efa_fg); | ||
1604 | + ctlr_add_bg(h3270.buffer_addr, efa_bg); | ||
1605 | + ctlr_add_gr(h3270.buffer_addr, efa_gr); | ||
1606 | + ctlr_add_ic(h3270.buffer_addr, efa_ic); | ||
1607 | + INC_BA(h3270.buffer_addr); | ||
1609 | last_cmd = True; | 1608 | last_cmd = True; |
1610 | last_zpt = False; | 1609 | last_zpt = False; |
1611 | break; | 1610 | break; |
@@ -1671,12 +1670,12 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1671,12 +1670,12 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1671 | if (default_cs == CS_DBCS || d != DBCS_NONE) { | 1670 | if (default_cs == CS_DBCS || d != DBCS_NONE) { |
1672 | ABORT_WRITE("invalid format control order in DBCS field"); | 1671 | ABORT_WRITE("invalid format control order in DBCS field"); |
1673 | } | 1672 | } |
1674 | - ctlr_add(buffer_addr, *cp, default_cs); | ||
1675 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1676 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1677 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1678 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1679 | - INC_BA(buffer_addr); | 1673 | + ctlr_add(h3270.buffer_addr, *cp, default_cs); |
1674 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1675 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1676 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1677 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1678 | + INC_BA(h3270.buffer_addr); | ||
1680 | last_cmd = True; | 1679 | last_cmd = True; |
1681 | last_zpt = False; | 1680 | last_zpt = False; |
1682 | break; | 1681 | break; |
@@ -1695,12 +1694,12 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1695,12 +1694,12 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1695 | } | 1694 | } |
1696 | /* All is well. */ | 1695 | /* All is well. */ |
1697 | previous = ORDER; | 1696 | previous = ORDER; |
1698 | - ctlr_add(buffer_addr, *cp, default_cs); | ||
1699 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1700 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1701 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1702 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1703 | - INC_BA(buffer_addr); | 1697 | + ctlr_add(h3270.buffer_addr, *cp, default_cs); |
1698 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1699 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1700 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1701 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1702 | + INC_BA(h3270.buffer_addr); | ||
1704 | last_cmd = True; | 1703 | last_cmd = True; |
1705 | last_zpt = False; | 1704 | last_zpt = False; |
1706 | break; | 1705 | break; |
@@ -1714,8 +1713,8 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1714,8 +1713,8 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1714 | if (d != DBCS_NONE && why == DBCS_FIELD) { | 1713 | if (d != DBCS_NONE && why == DBCS_FIELD) { |
1715 | ABORT_WRITE("SI in DBCS field"); | 1714 | ABORT_WRITE("SI in DBCS field"); |
1716 | } | 1715 | } |
1717 | - fa_addr = find_field_attribute(&h3270,buffer_addr); | ||
1718 | - baddr = buffer_addr; | 1716 | + fa_addr = find_field_attribute(&h3270,h3270.buffer_addr); |
1717 | + baddr = h3270.buffer_addr; | ||
1719 | DEC_BA(baddr); | 1718 | DEC_BA(baddr); |
1720 | while (!aborted && | 1719 | while (!aborted && |
1721 | ((fa_addr >= 0 && baddr != fa_addr) || | 1720 | ((fa_addr >= 0 && baddr != fa_addr) || |
@@ -1734,19 +1733,19 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1734,19 +1733,19 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1734 | } | 1733 | } |
1735 | /* All is well. */ | 1734 | /* All is well. */ |
1736 | previous = ORDER; | 1735 | previous = ORDER; |
1737 | - ctlr_add(buffer_addr, *cp, default_cs); | ||
1738 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1739 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1740 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1741 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1742 | - INC_BA(buffer_addr); | 1736 | + ctlr_add(h3270.buffer_addr, *cp, default_cs); |
1737 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1738 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1739 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1740 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1741 | + INC_BA(h3270.buffer_addr); | ||
1743 | last_cmd = True; | 1742 | last_cmd = True; |
1744 | last_zpt = False; | 1743 | last_zpt = False; |
1745 | break; | 1744 | break; |
1746 | case FCORDER_NULL: /* NULL or DBCS control char */ | 1745 | case FCORDER_NULL: /* NULL or DBCS control char */ |
1747 | previous = NULLCH; | 1746 | previous = NULLCH; |
1748 | add_dbcs = False; | 1747 | add_dbcs = False; |
1749 | - d = ctlr_lookleft_state(buffer_addr, &why); | 1748 | + d = ctlr_lookleft_state(h3270.buffer_addr, &why); |
1750 | if (d == DBCS_RIGHT) { | 1749 | if (d == DBCS_RIGHT) { |
1751 | ABORT_WRITE("NULL overwriting right half of DBCS character"); | 1750 | ABORT_WRITE("NULL overwriting right half of DBCS character"); |
1752 | } | 1751 | } |
@@ -1787,19 +1786,19 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1787,19 +1786,19 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1787 | END_TEXT("NULL"); | 1786 | END_TEXT("NULL"); |
1788 | add_c1 = *cp; | 1787 | add_c1 = *cp; |
1789 | } | 1788 | } |
1790 | - ctlr_add(buffer_addr, add_c1, default_cs); | ||
1791 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1792 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1793 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1794 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1795 | - INC_BA(buffer_addr); | 1789 | + ctlr_add(h3270.buffer_addr, add_c1, default_cs); |
1790 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1791 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1792 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1793 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1794 | + INC_BA(h3270.buffer_addr); | ||
1796 | if (add_dbcs) { | 1795 | if (add_dbcs) { |
1797 | - ctlr_add(buffer_addr, add_c2, default_cs); | ||
1798 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1799 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1800 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1801 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1802 | - INC_BA(buffer_addr); | 1796 | + ctlr_add(h3270.buffer_addr, add_c2, default_cs); |
1797 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1798 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1799 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1800 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1801 | + INC_BA(h3270.buffer_addr); | ||
1803 | } | 1802 | } |
1804 | last_cmd = False; | 1803 | last_cmd = False; |
1805 | last_zpt = False; | 1804 | last_zpt = False; |
@@ -1845,20 +1844,20 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1845,20 +1844,20 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
1845 | #if defined(X3270_DBCS) /*[*/ | 1844 | #if defined(X3270_DBCS) /*[*/ |
1846 | } | 1845 | } |
1847 | #endif /*]*/ | 1846 | #endif /*]*/ |
1848 | - ctlr_add(buffer_addr, add_c1, default_cs); | ||
1849 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1850 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1851 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1852 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1853 | - INC_BA(buffer_addr); | 1847 | + ctlr_add(h3270.buffer_addr, add_c1, default_cs); |
1848 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1849 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1850 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1851 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1852 | + INC_BA(h3270.buffer_addr); | ||
1854 | #if defined(X3270_DBCS) /*[*/ | 1853 | #if defined(X3270_DBCS) /*[*/ |
1855 | if (add_dbcs) { | 1854 | if (add_dbcs) { |
1856 | - ctlr_add(buffer_addr, add_c2, default_cs); | ||
1857 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1858 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1859 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1860 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1861 | - INC_BA(buffer_addr); | 1855 | + ctlr_add(h3270.buffer_addr, add_c2, default_cs); |
1856 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1857 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1858 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1859 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1860 | + INC_BA(h3270.buffer_addr); | ||
1862 | } | 1861 | } |
1863 | #endif /*]*/ | 1862 | #endif /*]*/ |
1864 | last_cmd = False; | 1863 | last_cmd = False; |
@@ -1930,14 +1929,14 @@ ctlr_write_sscp_lu(unsigned char buf[], int buflen) | @@ -1930,14 +1929,14 @@ ctlr_write_sscp_lu(unsigned char buf[], int buflen) | ||
1930 | * Insert NULLs to the end of the line and advance to | 1929 | * Insert NULLs to the end of the line and advance to |
1931 | * the beginning of the next line. | 1930 | * the beginning of the next line. |
1932 | */ | 1931 | */ |
1933 | - s_row = buffer_addr / h3270.cols; | ||
1934 | - while ((buffer_addr / h3270.cols) == s_row) { | ||
1935 | - ctlr_add(buffer_addr, EBC_null, default_cs); | ||
1936 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1937 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1938 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1939 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1940 | - INC_BA(buffer_addr); | 1932 | + s_row = h3270.buffer_addr / h3270.cols; |
1933 | + while ((h3270.buffer_addr / h3270.cols) == s_row) { | ||
1934 | + ctlr_add(h3270.buffer_addr, EBC_null, default_cs); | ||
1935 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1936 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1937 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1938 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1939 | + INC_BA(h3270.buffer_addr); | ||
1941 | } | 1940 | } |
1942 | break; | 1941 | break; |
1943 | 1942 | ||
@@ -1945,17 +1944,17 @@ ctlr_write_sscp_lu(unsigned char buf[], int buflen) | @@ -1945,17 +1944,17 @@ ctlr_write_sscp_lu(unsigned char buf[], int buflen) | ||
1945 | /* Some hosts forget they're talking SSCP-LU. */ | 1944 | /* Some hosts forget they're talking SSCP-LU. */ |
1946 | cp++; | 1945 | cp++; |
1947 | i++; | 1946 | i++; |
1948 | - trace_ds(" StartField%s %s [translated to space]\n",rcba(buffer_addr), see_attr(*cp)); | ||
1949 | - ctlr_add(buffer_addr, EBC_space, default_cs); | ||
1950 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1951 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1952 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1953 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1954 | - INC_BA(buffer_addr); | 1947 | + trace_ds(" StartField%s %s [translated to space]\n",rcba(h3270.buffer_addr), see_attr(*cp)); |
1948 | + ctlr_add(h3270.buffer_addr, EBC_space, default_cs); | ||
1949 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1950 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1951 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1952 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1953 | + INC_BA(h3270.buffer_addr); | ||
1955 | break; | 1954 | break; |
1956 | case ORDER_IC: | 1955 | case ORDER_IC: |
1957 | trace_ds(" InsertCursor%s [ignored]\n", | 1956 | trace_ds(" InsertCursor%s [ignored]\n", |
1958 | - rcba(buffer_addr)); | 1957 | + rcba(h3270.buffer_addr)); |
1959 | break; | 1958 | break; |
1960 | case ORDER_SBA: | 1959 | case ORDER_SBA: |
1961 | // baddr = DECODE_BADDR(*(cp+1), *(cp+2)); | 1960 | // baddr = DECODE_BADDR(*(cp+1), *(cp+2)); |
@@ -1972,33 +1971,31 @@ ctlr_write_sscp_lu(unsigned char buf[], int buflen) | @@ -1972,33 +1971,31 @@ ctlr_write_sscp_lu(unsigned char buf[], int buflen) | ||
1972 | c = EBC_space; | 1971 | c = EBC_space; |
1973 | else | 1972 | else |
1974 | c = *cp; | 1973 | c = *cp; |
1975 | - ctlr_add(buffer_addr, c, CS_GE); | ||
1976 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1977 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1978 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1979 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1980 | - INC_BA(buffer_addr); | 1974 | + ctlr_add(h3270.buffer_addr, c, CS_GE); |
1975 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1976 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1977 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1978 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1979 | + INC_BA(h3270.buffer_addr); | ||
1981 | break; | 1980 | break; |
1982 | 1981 | ||
1983 | default: | 1982 | default: |
1984 | - ctlr_add(buffer_addr, *cp, default_cs); | ||
1985 | - ctlr_add_fg(buffer_addr, default_fg); | ||
1986 | - ctlr_add_bg(buffer_addr, default_bg); | ||
1987 | - ctlr_add_gr(buffer_addr, default_gr); | ||
1988 | - ctlr_add_ic(buffer_addr, default_ic); | ||
1989 | - INC_BA(buffer_addr); | 1983 | + ctlr_add(h3270.buffer_addr, *cp, default_cs); |
1984 | + ctlr_add_fg(h3270.buffer_addr, default_fg); | ||
1985 | + ctlr_add_bg(h3270.buffer_addr, default_bg); | ||
1986 | + ctlr_add_gr(h3270.buffer_addr, default_gr); | ||
1987 | + ctlr_add_ic(h3270.buffer_addr, default_ic); | ||
1988 | + INC_BA(h3270.buffer_addr); | ||
1990 | break; | 1989 | break; |
1991 | } | 1990 | } |
1992 | } | 1991 | } |
1993 | - cursor_move(buffer_addr); | ||
1994 | - sscp_start = buffer_addr; | 1992 | + cursor_move(h3270.buffer_addr); |
1993 | + sscp_start = h3270.buffer_addr; | ||
1995 | 1994 | ||
1996 | /* Unlock the keyboard. */ | 1995 | /* Unlock the keyboard. */ |
1997 | aid = AID_NO; | 1996 | aid = AID_NO; |
1998 | do_reset(False); | 1997 | do_reset(False); |
1999 | 1998 | ||
2000 | - /* Let a script go. */ | ||
2001 | -// sms_host_output(); | ||
2002 | } | 1999 | } |
2003 | 2000 | ||
2004 | #if defined(X3270_DBCS) /*[*/ | 2001 | #if defined(X3270_DBCS) /*[*/ |
@@ -2341,8 +2338,8 @@ ctlr_clear(H3270 *session, Boolean can_snap) | @@ -2341,8 +2338,8 @@ ctlr_clear(H3270 *session, Boolean can_snap) | ||
2341 | /* Clear the screen. */ | 2338 | /* Clear the screen. */ |
2342 | (void) memset((char *)session->ea_buf, 0, session->rows*session->cols*sizeof(struct ea)); | 2339 | (void) memset((char *)session->ea_buf, 0, session->rows*session->cols*sizeof(struct ea)); |
2343 | cursor_move(0); | 2340 | cursor_move(0); |
2344 | - buffer_addr = 0; | ||
2345 | - // unselect(0, ROWS*COLS); | 2341 | + session->buffer_addr = 0; |
2342 | + lib3270_unselect(session); | ||
2346 | session->formatted = False; | 2343 | session->formatted = False; |
2347 | default_fg = 0; | 2344 | default_fg = 0; |
2348 | default_bg = 0; | 2345 | default_bg = 0; |
@@ -2368,8 +2365,8 @@ ctlr_blanks(void) | @@ -2368,8 +2365,8 @@ ctlr_blanks(void) | ||
2368 | h3270.ea_buf[baddr].cc = EBC_space; | 2365 | h3270.ea_buf[baddr].cc = EBC_space; |
2369 | } | 2366 | } |
2370 | cursor_move(0); | 2367 | cursor_move(0); |
2371 | - buffer_addr = 0; | ||
2372 | - // unselect(0, ROWS*COLS); | 2368 | + h3270.buffer_addr = 0; |
2369 | + lib3270_unselect(&h3270); | ||
2373 | h3270.formatted = False; | 2370 | h3270.formatted = False; |
2374 | ALL_CHANGED; | 2371 | ALL_CHANGED; |
2375 | } | 2372 | } |
ctlr.h
@@ -17,5 +17,5 @@ | @@ -17,5 +17,5 @@ | ||
17 | * External declarations for ctlr.c data structures. | 17 | * External declarations for ctlr.c data structures. |
18 | */ | 18 | */ |
19 | 19 | ||
20 | -extern int buffer_addr; /**< buffer address */ | ||
21 | -extern struct ea *ea_buf; /**< 3270 device buffer */ | 20 | +// extern int buffer_addr; /**< buffer address */ |
21 | +// extern struct ea *ea_buf; /**< 3270 device buffer */ |
kybd.c
@@ -522,9 +522,10 @@ key_AID(unsigned char aid_code) | @@ -522,9 +522,10 @@ key_AID(unsigned char aid_code) | ||
522 | return; | 522 | return; |
523 | } | 523 | } |
524 | } | 524 | } |
525 | - if (IN_SSCP && aid_code == AID_ENTER) { | 525 | + if (IN_SSCP && aid_code == AID_ENTER) |
526 | + { | ||
526 | /* Act as if the host had written our input. */ | 527 | /* Act as if the host had written our input. */ |
527 | - buffer_addr = h3270.cursor_addr; | 528 | + h3270.buffer_addr = h3270.cursor_addr; |
528 | } | 529 | } |
529 | if (!IN_SSCP || aid_code != AID_CLEAR) { | 530 | if (!IN_SSCP || aid_code != AID_CLEAR) { |
530 | status_twait(&h3270); | 531 | status_twait(&h3270); |
@@ -863,7 +864,7 @@ key_Character(int code, Boolean with_ge, Boolean pasting, Boolean *skipped) | @@ -863,7 +864,7 @@ key_Character(int code, Boolean with_ge, Boolean pasting, Boolean *skipped) | ||
863 | */ | 864 | */ |
864 | xaddr = baddr; | 865 | xaddr = baddr; |
865 | DEC_BA(xaddr); | 866 | DEC_BA(xaddr); |
866 | - if (ea_buf[xaddr].cc == EBC_so) { | 867 | + if (h3270.ea_buf[xaddr].cc == EBC_so) { |
867 | DEC_BA(baddr); | 868 | DEC_BA(baddr); |
868 | if (!ins_prep(faddr, baddr, 1)) | 869 | if (!ins_prep(faddr, baddr, 1)) |
869 | return False; | 870 | return False; |
@@ -892,7 +893,7 @@ key_Character(int code, Boolean with_ge, Boolean pasting, Boolean *skipped) | @@ -892,7 +893,7 @@ key_Character(int code, Boolean with_ge, Boolean pasting, Boolean *skipped) | ||
892 | INC_BA(xaddr); | 893 | INC_BA(xaddr); |
893 | INC_BA(baddr); | 894 | INC_BA(baddr); |
894 | INC_BA(xaddr); | 895 | INC_BA(xaddr); |
895 | - was_si = (ea_buf[xaddr].cc == EBC_si); | 896 | + was_si = (h3270.ea_buf[xaddr].cc == EBC_si); |
896 | ctlr_add(xaddr, EBC_space, CS_BASE); | 897 | ctlr_add(xaddr, EBC_space, CS_BASE); |
897 | ctlr_add_fg(xaddr, 0); | 898 | ctlr_add_fg(xaddr, 0); |
898 | ctlr_add_gr(xaddr, 0); | 899 | ctlr_add_gr(xaddr, 0); |
@@ -2414,7 +2415,7 @@ LIB3270_ACTION( clear ) | @@ -2414,7 +2415,7 @@ LIB3270_ACTION( clear ) | ||
2414 | return 0; | 2415 | return 0; |
2415 | } | 2416 | } |
2416 | #endif /*]*/ | 2417 | #endif /*]*/ |
2417 | - buffer_addr = 0; | 2418 | + h3270.buffer_addr = 0; |
2418 | ctlr_clear(&h3270,True); | 2419 | ctlr_clear(&h3270,True); |
2419 | cursor_move(0); | 2420 | cursor_move(0); |
2420 | if (CONNECTED) | 2421 | if (CONNECTED) |
@@ -573,7 +573,7 @@ sf_create_partition(unsigned char buf[], int buflen) | @@ -573,7 +573,7 @@ sf_create_partition(unsigned char buf[], int buflen) | ||
573 | trace_ds(")\n"); | 573 | trace_ds(")\n"); |
574 | 574 | ||
575 | cursor_move(0); | 575 | cursor_move(0); |
576 | - buffer_addr = 0; | 576 | + h3270.buffer_addr = 0; |
577 | 577 | ||
578 | return PDS_OKAY_NO_OUTPUT; | 578 | return PDS_OKAY_NO_OUTPUT; |
579 | } | 579 | } |