Commit 95e4250275c3a3045d5960d8fcdb68a4b2b54896

Authored by perry.werneck@gmail.com
1 parent 2e894961

Chamadas a trace_ds() passam a receber a estrutura de sessão

src/lib3270/ansi.c
@@ -1691,13 +1691,13 @@ void ansi_in3270(H3270 *session, int in3270, void *dunno) @@ -1691,13 +1691,13 @@ void ansi_in3270(H3270 *session, int in3270, void *dunno)
1691 } 1691 }
1692 1692
1693 #if defined(X3270_DBCS) /*[*/ 1693 #if defined(X3270_DBCS) /*[*/
1694 -static void  
1695 -trace_pending_mb(void) 1694 +static void trace_pending_mb(void)
1696 { 1695 {
1697 int i; 1696 int i;
1698 1697
1699 - for (i = 0; i < mb_pending; i++) {  
1700 - trace_ds(" %02x", mb_buffer[i] & 0xff); 1698 + for (i = 0; i < mb_pending; i++)
  1699 + {
  1700 + trace_ds(&h3270," %02x", mb_buffer[i] & 0xff);
1701 } 1701 }
1702 } 1702 }
1703 #endif /*]*/ 1703 #endif /*]*/
@@ -1723,10 +1723,11 @@ ansi_process(unsigned int c) @@ -1723,10 +1723,11 @@ ansi_process(unsigned int c)
1723 1723
1724 fn = ansi_fn[st[(int)state][c]]; 1724 fn = ansi_fn[st[(int)state][c]];
1725 #if defined(X3270_DBCS) /*[*/ 1725 #if defined(X3270_DBCS) /*[*/
1726 - if (mb_pending && fn != &ansi_printing) {  
1727 - trace_ds("Dropped incomplete multi-byte character"); 1726 + if (mb_pending && fn != &ansi_printing)
  1727 + {
  1728 + trace_ds(&h3270,"Dropped incomplete multi-byte character");
1728 trace_pending_mb(); 1729 trace_pending_mb();
1729 - trace_ds("\n"); 1730 + trace_ds(&h3270,"\n");
1730 mb_pending = 0; 1731 mb_pending = 0;
1731 } 1732 }
1732 #endif /*]*/ 1733 #endif /*]*/
@@ -1837,9 +1838,9 @@ dbcs_process(int ch, unsigned char ebc[]) @@ -1837,9 +1838,9 @@ dbcs_process(int ch, unsigned char ebc[])
1837 1838
1838 /* See if we have too many. */ 1839 /* See if we have too many. */
1839 if (mb_pending >= MB_MAX) { 1840 if (mb_pending >= MB_MAX) {
1840 - trace_ds("Multi-byte character "); 1841 + trace_ds(&h3270,"Multi-byte character ");
1841 trace_pending_mb(); 1842 trace_pending_mb();
1842 - trace_ds(" too long, dropping\n"); 1843 + trace_ds(&h3270," too long, dropping\n");
1843 mb_pending = 0; 1844 mb_pending = 0;
1844 return 0; 1845 return 0;
1845 } 1846 }
@@ -1860,9 +1861,9 @@ dbcs_process(int ch, unsigned char ebc[]) @@ -1860,9 +1861,9 @@ dbcs_process(int ch, unsigned char ebc[])
1860 mb_pending = 0; 1861 mb_pending = 0;
1861 return 2; 1862 return 2;
1862 } else { 1863 } else {
1863 - trace_ds("Can't map multi-byte character"); 1864 + trace_ds(&h3270,"Can't map multi-byte character");
1864 trace_pending_mb(); 1865 trace_pending_mb();
1865 - trace_ds(" -> U+%04x to SBCS or DBCS, dropping\n", 1866 + trace_ds(&h3270," -> U+%04x to SBCS or DBCS, dropping\n",
1866 Ubuf[0] & 0xffff); 1867 Ubuf[0] & 0xffff);
1867 mb_pending = 0; 1868 mb_pending = 0;
1868 return 0; 1869 return 0;
@@ -1876,15 +1877,14 @@ dbcs_process(int ch, unsigned char ebc[]) @@ -1876,15 +1877,14 @@ dbcs_process(int ch, unsigned char ebc[])
1876 return 0; 1877 return 0;
1877 case U_INVALID_CHAR_FOUND: 1878 case U_INVALID_CHAR_FOUND:
1878 case U_ILLEGAL_CHAR_FOUND: 1879 case U_ILLEGAL_CHAR_FOUND:
1879 - trace_ds("Invalid multi-byte character"); 1880 + trace_ds(&h3270,"Invalid multi-byte character");
1880 trace_pending_mb(); 1881 trace_pending_mb();
1881 - trace_ds(", dropping\n"); 1882 + trace_ds(&h3270,", dropping\n");
1882 break; 1883 break;
1883 default: 1884 default:
1884 - trace_ds("Unexpected ICU error %d translating multi-type "  
1885 - "character", (int)err); 1885 + trace_ds(&h3270,"Unexpected ICU error %d translating multi-type character", (int)err);
1886 trace_pending_mb(); 1886 trace_pending_mb();
1887 - trace_ds(", dropping\n"); 1887 + trace_ds(&h3270,", dropping\n");
1888 break; 1888 break;
1889 } 1889 }
1890 mb_pending = 0; 1890 mb_pending = 0;
src/lib3270/ctlr.c
@@ -473,18 +473,18 @@ process_ds(unsigned char *buf, int buflen) @@ -473,18 +473,18 @@ process_ds(unsigned char *buf, int buflen)
473 473
474 // scroll_to_bottom(); 474 // scroll_to_bottom();
475 475
476 - trace_ds("< "); 476 + trace_ds(&h3270,"< ");
477 477
478 switch (buf[0]) { /* 3270 command */ 478 switch (buf[0]) { /* 3270 command */
479 case CMD_EAU: /* erase all unprotected */ 479 case CMD_EAU: /* erase all unprotected */
480 case SNA_CMD_EAU: 480 case SNA_CMD_EAU:
481 - trace_ds("EraseAllUnprotected\n"); 481 + trace_ds(&h3270,"EraseAllUnprotected\n");
482 ctlr_erase_all_unprotected(&h3270); 482 ctlr_erase_all_unprotected(&h3270);
483 return PDS_OKAY_NO_OUTPUT; 483 return PDS_OKAY_NO_OUTPUT;
484 break; 484 break;
485 case CMD_EWA: /* erase/write alternate */ 485 case CMD_EWA: /* erase/write alternate */
486 case SNA_CMD_EWA: 486 case SNA_CMD_EWA:
487 - trace_ds("EraseWriteAlternate"); 487 + trace_ds(&h3270,"EraseWriteAlternate");
488 ctlr_erase(NULL,True); 488 ctlr_erase(NULL,True);
489 if ((rv = ctlr_write(buf, buflen, True)) < 0) 489 if ((rv = ctlr_write(buf, buflen, True)) < 0)
490 return rv; 490 return rv;
@@ -492,7 +492,7 @@ process_ds(unsigned char *buf, int buflen) @@ -492,7 +492,7 @@ process_ds(unsigned char *buf, int buflen)
492 break; 492 break;
493 case CMD_EW: /* erase/write */ 493 case CMD_EW: /* erase/write */
494 case SNA_CMD_EW: 494 case SNA_CMD_EW:
495 - trace_ds("EraseWrite"); 495 + trace_ds(&h3270,"EraseWrite");
496 ctlr_erase(NULL,False); 496 ctlr_erase(NULL,False);
497 if ((rv = ctlr_write(buf, buflen, True)) < 0) 497 if ((rv = ctlr_write(buf, buflen, True)) < 0)
498 return rv; 498 return rv;
@@ -500,41 +500,41 @@ process_ds(unsigned char *buf, int buflen) @@ -500,41 +500,41 @@ process_ds(unsigned char *buf, int buflen)
500 break; 500 break;
501 case CMD_W: /* write */ 501 case CMD_W: /* write */
502 case SNA_CMD_W: 502 case SNA_CMD_W:
503 - trace_ds("Write"); 503 + trace_ds(&h3270,"Write");
504 if ((rv = ctlr_write(buf, buflen, False)) < 0) 504 if ((rv = ctlr_write(buf, buflen, False)) < 0)
505 return rv; 505 return rv;
506 return PDS_OKAY_NO_OUTPUT; 506 return PDS_OKAY_NO_OUTPUT;
507 break; 507 break;
508 case CMD_RB: /* read buffer */ 508 case CMD_RB: /* read buffer */
509 case SNA_CMD_RB: 509 case SNA_CMD_RB:
510 - trace_ds("ReadBuffer\n"); 510 + trace_ds(&h3270,"ReadBuffer\n");
511 ctlr_read_buffer(&h3270,h3270.aid); 511 ctlr_read_buffer(&h3270,h3270.aid);
512 return PDS_OKAY_OUTPUT; 512 return PDS_OKAY_OUTPUT;
513 break; 513 break;
514 case CMD_RM: /* read modifed */ 514 case CMD_RM: /* read modifed */
515 case SNA_CMD_RM: 515 case SNA_CMD_RM:
516 - trace_ds("ReadModified\n"); 516 + trace_ds(&h3270,"ReadModified\n");
517 ctlr_read_modified(h3270.aid, False); 517 ctlr_read_modified(h3270.aid, False);
518 return PDS_OKAY_OUTPUT; 518 return PDS_OKAY_OUTPUT;
519 break; 519 break;
520 case CMD_RMA: /* read modifed all */ 520 case CMD_RMA: /* read modifed all */
521 case SNA_CMD_RMA: 521 case SNA_CMD_RMA:
522 - trace_ds("ReadModifiedAll\n"); 522 + trace_ds(&h3270,"ReadModifiedAll\n");
523 ctlr_read_modified(h3270.aid, True); 523 ctlr_read_modified(h3270.aid, True);
524 return PDS_OKAY_OUTPUT; 524 return PDS_OKAY_OUTPUT;
525 break; 525 break;
526 case CMD_WSF: /* write structured field */ 526 case CMD_WSF: /* write structured field */
527 case SNA_CMD_WSF: 527 case SNA_CMD_WSF:
528 - trace_ds("WriteStructuredField"); 528 + trace_ds(&h3270,"WriteStructuredField");
529 return write_structured_field(buf, buflen); 529 return write_structured_field(buf, buflen);
530 break; 530 break;
531 case CMD_NOP: /* no-op */ 531 case CMD_NOP: /* no-op */
532 - trace_ds("NoOp\n"); 532 + trace_ds(&h3270,"NoOp\n");
533 return PDS_OKAY_NO_OUTPUT; 533 return PDS_OKAY_NO_OUTPUT;
534 break; 534 break;
535 default: 535 default:
536 /* unknown 3270 command */ 536 /* unknown 3270 command */
537 - popup_an_error(NULL,"Unknown 3270 Data Stream command: 0x%X\n",buf[0]); 537 + popup_an_error(&h3270,_( "Unknown 3270 Data Stream command: 0x%X" ),buf[0]);
538 return PDS_BAD_CMD; 538 return PDS_BAD_CMD;
539 } 539 }
540 } 540 }
@@ -552,8 +552,8 @@ static void insert_sa1(H3270 *hSession, unsigned char attr, unsigned char value, @@ -552,8 +552,8 @@ static void insert_sa1(H3270 *hSession, unsigned char attr, unsigned char value,
552 *hSession->obptr++ = attr; 552 *hSession->obptr++ = attr;
553 *hSession->obptr++ = value; 553 *hSession->obptr++ = value;
554 if (*anyp) 554 if (*anyp)
555 - trace_ds("'");  
556 - trace_ds(" SetAttribute(%s)", see_efa(attr, value)); 555 + trace_ds(hSession,"'");
  556 + trace_ds(hSession, " SetAttribute(%s)", see_efa(attr, value));
557 *anyp = False; 557 *anyp = False;
558 } 558 }
559 559
@@ -627,7 +627,7 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all) @@ -627,7 +627,7 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
627 } 627 }
628 #endif /*]*/ 628 #endif /*]*/
629 629
630 - trace_ds("> "); 630 + trace_ds(&h3270,"> ");
631 h3270.obptr = h3270.obuf; 631 h3270.obptr = h3270.obuf;
632 632
633 switch (aid_byte) { 633 switch (aid_byte) {
@@ -638,7 +638,7 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all) @@ -638,7 +638,7 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
638 *h3270.obptr++ = 0x5b; /* % */ 638 *h3270.obptr++ = 0x5b; /* % */
639 *h3270.obptr++ = 0x61; /* / */ 639 *h3270.obptr++ = 0x61; /* / */
640 *h3270.obptr++ = 0x02; /* stx */ 640 *h3270.obptr++ = 0x02; /* stx */
641 - trace_ds("SYSREQ"); 641 + trace_ds(&h3270,"SYSREQ");
642 break; 642 break;
643 643
644 case AID_PA1: /* short-read AIDs */ 644 case AID_PA1: /* short-read AIDs */
@@ -658,11 +658,11 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all) @@ -658,11 +658,11 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
658 if (!IN_SSCP) { 658 if (!IN_SSCP) {
659 space3270out(&h3270,3); 659 space3270out(&h3270,3);
660 *h3270.obptr++ = aid_byte; 660 *h3270.obptr++ = aid_byte;
661 - trace_ds("%s",see_aid(aid_byte)); 661 + trace_ds(&h3270,"%s",see_aid(aid_byte));
662 if (short_read) 662 if (short_read)
663 goto rm_done; 663 goto rm_done;
664 ENCODE_BADDR(h3270.obptr, h3270.cursor_addr); 664 ENCODE_BADDR(h3270.obptr, h3270.cursor_addr);
665 - trace_ds("%s",rcba(&h3270,h3270.cursor_addr)); 665 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.cursor_addr));
666 } else { 666 } else {
667 space3270out(&h3270,1); /* just in case */ 667 space3270out(&h3270,1); /* just in case */
668 } 668 }
@@ -686,7 +686,7 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all) @@ -686,7 +686,7 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
686 space3270out(&h3270,3); 686 space3270out(&h3270,3);
687 *h3270.obptr++ = ORDER_SBA; 687 *h3270.obptr++ = ORDER_SBA;
688 ENCODE_BADDR(h3270.obptr, baddr); 688 ENCODE_BADDR(h3270.obptr, baddr);
689 - trace_ds(" SetBufferAddress%s (Cols: %d Rows: %d)", rcba(&h3270,baddr), h3270.cols, h3270.rows); 689 + trace_ds(&h3270," SetBufferAddress%s (Cols: %d Rows: %d)", rcba(&h3270,baddr), h3270.cols, h3270.rows);
690 while (!h3270.ea_buf[baddr].fa) { 690 while (!h3270.ea_buf[baddr].fa) {
691 691
692 if (send_data && 692 if (send_data &&
@@ -696,21 +696,21 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all) @@ -696,21 +696,21 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
696 space3270out(&h3270,1); 696 space3270out(&h3270,1);
697 *h3270.obptr++ = ORDER_GE; 697 *h3270.obptr++ = ORDER_GE;
698 if (any) 698 if (any)
699 - trace_ds("'");  
700 - trace_ds(" GraphicEscape"); 699 + trace_ds(&h3270,"'");
  700 + trace_ds(&h3270," GraphicEscape");
701 any = False; 701 any = False;
702 } 702 }
703 space3270out(&h3270,1); 703 space3270out(&h3270,1);
704 *h3270.obptr++ = h3270.ea_buf[baddr].cc; 704 *h3270.obptr++ = h3270.ea_buf[baddr].cc;
705 if (!any) 705 if (!any)
706 - trace_ds(" '");  
707 - trace_ds("%s",see_ebc(h3270.ea_buf[baddr].cc)); 706 + trace_ds(&h3270," '");
  707 + trace_ds(&h3270,"%s",see_ebc(h3270.ea_buf[baddr].cc));
708 any = True; 708 any = True;
709 } 709 }
710 INC_BA(baddr); 710 INC_BA(baddr);
711 } 711 }
712 if (any) 712 if (any)
713 - trace_ds("'"); 713 + trace_ds(&h3270,"'");
714 } 714 }
715 else { /* not modified - skip */ 715 else { /* not modified - skip */
716 do { 716 do {
@@ -736,15 +736,15 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all) @@ -736,15 +736,15 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
736 space3270out(&h3270,1); 736 space3270out(&h3270,1);
737 *h3270.obptr++ = ORDER_GE; 737 *h3270.obptr++ = ORDER_GE;
738 if (any) 738 if (any)
739 - trace_ds("' ");  
740 - trace_ds(" GraphicEscape "); 739 + trace_ds(&h3270,"' ");
  740 + trace_ds(&h3270," GraphicEscape ");
741 any = False; 741 any = False;
742 } 742 }
743 space3270out(&h3270,1); 743 space3270out(&h3270,1);
744 *h3270.obptr++ = h3270.ea_buf[baddr].cc; 744 *h3270.obptr++ = h3270.ea_buf[baddr].cc;
745 if (!any) 745 if (!any)
746 - trace_ds("%s","'");  
747 - trace_ds("%s",see_ebc(h3270.ea_buf[baddr].cc)); 746 + trace_ds(&h3270,"%s","'");
  747 + trace_ds(&h3270,"%s",see_ebc(h3270.ea_buf[baddr].cc));
748 any = True; 748 any = True;
749 nbytes++; 749 nbytes++;
750 } 750 }
@@ -758,11 +758,11 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all) @@ -758,11 +758,11 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
758 break; 758 break;
759 } while (baddr != 0); 759 } while (baddr != 0);
760 if (any) 760 if (any)
761 - trace_ds("'"); 761 + trace_ds(&h3270,"'");
762 } 762 }
763 763
764 rm_done: 764 rm_done:
765 - trace_ds("\n"); 765 + trace_ds(&h3270,"\n");
766 net_output(&h3270); 766 net_output(&h3270);
767 } 767 }
768 768
@@ -788,13 +788,13 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte) @@ -788,13 +788,13 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
788 } 788 }
789 #endif /*]*/ 789 #endif /*]*/
790 790
791 - trace_ds("> "); 791 + trace_ds(&h3270,"> ");
792 hSession->obptr = hSession->obuf; 792 hSession->obptr = hSession->obuf;
793 793
794 space3270out(hSession,3); 794 space3270out(hSession,3);
795 *hSession->obptr++ = aid_byte; 795 *hSession->obptr++ = aid_byte;
796 ENCODE_BADDR(hSession->obptr, hSession->cursor_addr); 796 ENCODE_BADDR(hSession->obptr, hSession->cursor_addr);
797 - trace_ds("%s%s", see_aid(aid_byte), rcba(hSession,hSession->cursor_addr)); 797 + trace_ds(&h3270,"%s%s", see_aid(aid_byte), rcba(hSession,hSession->cursor_addr));
798 798
799 baddr = 0; 799 baddr = 0;
800 do { 800 do {
@@ -817,8 +817,8 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte) @@ -817,8 +817,8 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
817 *hSession->obptr++ = code_table[fa]; 817 *hSession->obptr++ = code_table[fa];
818 818
819 if (any) 819 if (any)
820 - trace_ds("'");  
821 - trace_ds(" StartField%s%s%s", 820 + trace_ds(hSession,"'");
  821 + trace_ds(hSession," StartField%s%s%s",
822 (hSession->reply_mode == SF_SRM_FIELD) ? "" : "Extended", 822 (hSession->reply_mode == SF_SRM_FIELD) ? "" : "Extended",
823 rcba(hSession,baddr), see_attr(fa)); 823 rcba(hSession,baddr), see_attr(fa));
824 824
@@ -828,21 +828,21 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte) @@ -828,21 +828,21 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
828 space3270out(hSession,2); 828 space3270out(hSession,2);
829 *hSession->obptr++ = XA_FOREGROUND; 829 *hSession->obptr++ = XA_FOREGROUND;
830 *hSession->obptr++ = hSession->ea_buf[baddr].fg; 830 *hSession->obptr++ = hSession->ea_buf[baddr].fg;
831 - trace_ds("%s", see_efa(XA_FOREGROUND, hSession->ea_buf[baddr].fg)); 831 + trace_ds(hSession,"%s", see_efa(XA_FOREGROUND, hSession->ea_buf[baddr].fg));
832 (*(hSession->obuf + attr_count))++; 832 (*(hSession->obuf + attr_count))++;
833 } 833 }
834 if (hSession->ea_buf[baddr].bg) { 834 if (hSession->ea_buf[baddr].bg) {
835 space3270out(hSession,2); 835 space3270out(hSession,2);
836 *hSession->obptr++ = XA_BACKGROUND; 836 *hSession->obptr++ = XA_BACKGROUND;
837 *hSession->obptr++ = hSession->ea_buf[baddr].bg; 837 *hSession->obptr++ = hSession->ea_buf[baddr].bg;
838 - trace_ds("%s", see_efa(XA_BACKGROUND, hSession->ea_buf[baddr].bg)); 838 + trace_ds(hSession,"%s", see_efa(XA_BACKGROUND, hSession->ea_buf[baddr].bg));
839 (*(hSession->obuf + attr_count))++; 839 (*(hSession->obuf + attr_count))++;
840 } 840 }
841 if (hSession->ea_buf[baddr].gr) { 841 if (hSession->ea_buf[baddr].gr) {
842 space3270out(hSession,2); 842 space3270out(hSession,2);
843 *hSession->obptr++ = XA_HIGHLIGHTING; 843 *hSession->obptr++ = XA_HIGHLIGHTING;
844 *hSession->obptr++ = hSession->ea_buf[baddr].gr | 0xf0; 844 *hSession->obptr++ = hSession->ea_buf[baddr].gr | 0xf0;
845 - trace_ds("%s", see_efa(XA_HIGHLIGHTING, 845 + trace_ds(hSession,"%s", see_efa(XA_HIGHLIGHTING,
846 hSession->ea_buf[baddr].gr | 0xf0)); 846 hSession->ea_buf[baddr].gr | 0xf0));
847 (*(hSession->obuf + attr_count))++; 847 (*(hSession->obuf + attr_count))++;
848 } 848 }
@@ -850,7 +850,7 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte) @@ -850,7 +850,7 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
850 space3270out(hSession,2); 850 space3270out(hSession,2);
851 *hSession->obptr++ = XA_CHARSET; 851 *hSession->obptr++ = XA_CHARSET;
852 *hSession->obptr++ = host_cs(hSession->ea_buf[baddr].cs); 852 *hSession->obptr++ = host_cs(hSession->ea_buf[baddr].cs);
853 - trace_ds("%s", see_efa(XA_CHARSET,host_cs(hSession->ea_buf[baddr].cs))); 853 + trace_ds(hSession,"%s", see_efa(XA_CHARSET,host_cs(hSession->ea_buf[baddr].cs)));
854 (*(hSession->obuf + attr_count))++; 854 (*(hSession->obuf + attr_count))++;
855 } 855 }
856 } 856 }
@@ -861,8 +861,8 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte) @@ -861,8 +861,8 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
861 space3270out(hSession,1); 861 space3270out(hSession,1);
862 *hSession->obptr++ = ORDER_GE; 862 *hSession->obptr++ = ORDER_GE;
863 if (any) 863 if (any)
864 - trace_ds("'");  
865 - trace_ds(" GraphicEscape"); 864 + trace_ds(hSession,"'");
  865 + trace_ds(hSession," GraphicEscape");
866 any = False; 866 any = False;
867 } 867 }
868 space3270out(hSession,1); 868 space3270out(hSession,1);
@@ -870,23 +870,23 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte) @@ -870,23 +870,23 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
870 if (hSession->ea_buf[baddr].cc <= 0x3f || 870 if (hSession->ea_buf[baddr].cc <= 0x3f ||
871 hSession->ea_buf[baddr].cc == 0xff) { 871 hSession->ea_buf[baddr].cc == 0xff) {
872 if (any) 872 if (any)
873 - trace_ds("'"); 873 + trace_ds(hSession,"'");
874 874
875 - trace_ds(" %s", see_ebc(hSession->ea_buf[baddr].cc)); 875 + trace_ds(hSession," %s", see_ebc(hSession->ea_buf[baddr].cc));
876 any = False; 876 any = False;
877 } else { 877 } else {
878 if (!any) 878 if (!any)
879 - trace_ds(" '");  
880 - trace_ds("%s", see_ebc(hSession->ea_buf[baddr].cc)); 879 + trace_ds(hSession," '");
  880 + trace_ds(hSession,"%s", see_ebc(hSession->ea_buf[baddr].cc));
881 any = True; 881 any = True;
882 } 882 }
883 } 883 }
884 INC_BA(baddr); 884 INC_BA(baddr);
885 } while (baddr != 0); 885 } while (baddr != 0);
886 if (any) 886 if (any)
887 - trace_ds("'"); 887 + trace_ds(hSession,"'");
888 888
889 - trace_ds("\n"); 889 + trace_ds(hSession,"\n");
890 net_output(hSession); 890 net_output(hSession);
891 } 891 }
892 892
@@ -1109,8 +1109,8 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1109,8 +1109,8 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1109 char mb[16]; 1109 char mb[16];
1110 #endif /*]*/ 1110 #endif /*]*/
1111 1111
1112 -#define END_TEXT0 { if (previous == TEXT) trace_ds("'"); }  
1113 -#define END_TEXT(cmd) { END_TEXT0; trace_ds(" %s", cmd); } 1112 +#define END_TEXT0 { if (previous == TEXT) trace_ds(&h3270,"'"); }
  1113 +#define END_TEXT(cmd) { END_TEXT0; trace_ds(&h3270," %s", cmd); }
1114 1114
1115 /* XXX: Should there be a ctlr_add_cs call here? */ 1115 /* XXX: Should there be a ctlr_add_cs call here? */
1116 #define START_FIELD(fa) { \ 1116 #define START_FIELD(fa) { \
@@ -1121,7 +1121,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1121,7 +1121,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1121 ctlr_add_bg(&h3270,h3270.buffer_addr, 0); \ 1121 ctlr_add_bg(&h3270,h3270.buffer_addr, 0); \
1122 ctlr_add_gr(&h3270,h3270.buffer_addr, 0); \ 1122 ctlr_add_gr(&h3270,h3270.buffer_addr, 0); \
1123 ctlr_add_ic(&h3270,h3270.buffer_addr, 0); \ 1123 ctlr_add_ic(&h3270,h3270.buffer_addr, 0); \
1124 - trace_ds("%s",see_attr(fa)); \ 1124 + trace_ds(&h3270,"%s",see_attr(fa)); \
1125 h3270.formatted = True; \ 1125 h3270.formatted = True; \
1126 } 1126 }
1127 1127
@@ -1141,24 +1141,24 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1141,24 +1141,24 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1141 if (WCC_RESET(buf[1])) { 1141 if (WCC_RESET(buf[1])) {
1142 if (erase) 1142 if (erase)
1143 h3270.reply_mode = SF_SRM_FIELD; 1143 h3270.reply_mode = SF_SRM_FIELD;
1144 - trace_ds("%sreset", paren); 1144 + trace_ds(&h3270,"%sreset", paren);
1145 paren = ","; 1145 paren = ",";
1146 } 1146 }
1147 wcc_sound_alarm = WCC_SOUND_ALARM(buf[1]); 1147 wcc_sound_alarm = WCC_SOUND_ALARM(buf[1]);
1148 if (wcc_sound_alarm) { 1148 if (wcc_sound_alarm) {
1149 - trace_ds("%salarm", paren); 1149 + trace_ds(&h3270,"%salarm", paren);
1150 paren = ","; 1150 paren = ",";
1151 } 1151 }
1152 wcc_keyboard_restore = WCC_KEYBOARD_RESTORE(buf[1]); 1152 wcc_keyboard_restore = WCC_KEYBOARD_RESTORE(buf[1]);
1153 if (wcc_keyboard_restore) 1153 if (wcc_keyboard_restore)
1154 ticking_stop(NULL); 1154 ticking_stop(NULL);
1155 if (wcc_keyboard_restore) { 1155 if (wcc_keyboard_restore) {
1156 - trace_ds("%srestore", paren); 1156 + trace_ds(&h3270,"%srestore", paren);
1157 paren = ","; 1157 paren = ",";
1158 } 1158 }
1159 1159
1160 if (WCC_RESET_MDT(buf[1])) { 1160 if (WCC_RESET_MDT(buf[1])) {
1161 - trace_ds("%sresetMDT", paren); 1161 + trace_ds(&h3270,"%sresetMDT", paren);
1162 paren = ","; 1162 paren = ",";
1163 baddr = 0; 1163 baddr = 0;
1164 if (h3270.modified_sel) 1164 if (h3270.modified_sel)
@@ -1171,7 +1171,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1171,7 +1171,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1171 } while (baddr != 0); 1171 } while (baddr != 0);
1172 } 1172 }
1173 if (strcmp(paren, "(")) 1173 if (strcmp(paren, "("))
1174 - trace_ds(")"); 1174 + trace_ds(&h3270,")");
1175 1175
1176 last_cmd = True; 1176 last_cmd = True;
1177 last_zpt = False; 1177 last_zpt = False;
@@ -1183,7 +1183,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1183,7 +1183,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1183 break; \ 1183 break; \
1184 } 1184 }
1185 #define ABORT_WRITE(s) { \ 1185 #define ABORT_WRITE(s) { \
1186 - trace_ds(" [" s "; write aborted]\n"); \ 1186 + trace_ds(&h3270," [" s "; write aborted]\n"); \
1187 ABORT_WRITEx; \ 1187 ABORT_WRITEx; \
1188 } \ 1188 } \
1189 1189
@@ -1192,7 +1192,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1192,7 +1192,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1192 case ORDER_SF: /* start field */ 1192 case ORDER_SF: /* start field */
1193 END_TEXT("StartField"); 1193 END_TEXT("StartField");
1194 if (previous != SBA) 1194 if (previous != SBA)
1195 - trace_ds("%s",rcba(&h3270,h3270.buffer_addr)); 1195 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.buffer_addr));
1196 previous = ORDER; 1196 previous = ORDER;
1197 cp++; /* skip field attribute */ 1197 cp++; /* skip field attribute */
1198 START_FIELD(*cp); 1198 START_FIELD(*cp);
@@ -1207,7 +1207,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1207,7 +1207,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1207 h3270.buffer_addr = DECODE_BADDR(*(cp-1), *cp); 1207 h3270.buffer_addr = DECODE_BADDR(*(cp-1), *cp);
1208 END_TEXT("SetBufferAddress"); 1208 END_TEXT("SetBufferAddress");
1209 previous = SBA; 1209 previous = SBA;
1210 - trace_ds("%s",rcba(&h3270,h3270.buffer_addr)); 1210 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.buffer_addr));
1211 if (h3270.buffer_addr >= h3270.cols * h3270.rows) 1211 if (h3270.buffer_addr >= h3270.cols * h3270.rows)
1212 { 1212 {
1213 ABORT_WRITE("invalid SBA address"); 1213 ABORT_WRITE("invalid SBA address");
@@ -1219,7 +1219,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1219,7 +1219,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1219 case ORDER_IC: /* insert cursor */ 1219 case ORDER_IC: /* insert cursor */
1220 END_TEXT("InsertCursor"); 1220 END_TEXT("InsertCursor");
1221 if (previous != SBA) 1221 if (previous != SBA)
1222 - trace_ds("%s",rcba(&h3270,h3270.buffer_addr)); 1222 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.buffer_addr));
1223 previous = ORDER; 1223 previous = ORDER;
1224 cursor_move(&h3270,h3270.buffer_addr); 1224 cursor_move(&h3270,h3270.buffer_addr);
1225 last_cmd = True; 1225 last_cmd = True;
@@ -1255,7 +1255,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1255,7 +1255,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1255 * XXX: There's some funky DBCS rule here. 1255 * XXX: There's some funky DBCS rule here.
1256 */ 1256 */
1257 if (!last_cmd || last_zpt) { 1257 if (!last_cmd || last_zpt) {
1258 - trace_ds("(nulling)"); 1258 + trace_ds(&h3270,"(nulling)");
1259 while ((h3270.buffer_addr != baddr) && 1259 while ((h3270.buffer_addr != baddr) &&
1260 (!h3270.ea_buf[h3270.buffer_addr].fa)) { 1260 (!h3270.ea_buf[h3270.buffer_addr].fa)) {
1261 ctlr_add(&h3270,h3270.buffer_addr, EBC_null, 0); 1261 ctlr_add(&h3270,h3270.buffer_addr, EBC_null, 0);
@@ -1277,7 +1277,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1277,7 +1277,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1277 END_TEXT("RepeatToAddress"); 1277 END_TEXT("RepeatToAddress");
1278 cp += 2; /* skip buffer address */ 1278 cp += 2; /* skip buffer address */
1279 baddr = DECODE_BADDR(*(cp-1), *cp); 1279 baddr = DECODE_BADDR(*(cp-1), *cp);
1280 - trace_ds("%s",rcba(&h3270,baddr)); 1280 + trace_ds(&h3270,"%s",rcba(&h3270,baddr));
1281 cp++; /* skip char to repeat */ 1281 cp++; /* skip char to repeat */
1282 add_dbcs = False; 1282 add_dbcs = False;
1283 ra_ge = False; 1283 ra_ge = False;
@@ -1313,32 +1313,30 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1313,32 +1313,30 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1313 case EBC_fm: 1313 case EBC_fm:
1314 break; 1314 break;
1315 default: 1315 default:
1316 - trace_ds(" [invalid DBCS RA control character X'%02x%02x'; write aborted]",  
1317 - add_c1, add_c2); 1316 + trace_ds(&h3270," [invalid DBCS RA control character X'%02x%02x'; write aborted]",add_c1, add_c2);
1318 ABORT_WRITEx; 1317 ABORT_WRITEx;
1319 } 1318 }
1320 } else if (add_c1 < 0x40 || add_c1 > 0xfe || 1319 } else if (add_c1 < 0x40 || add_c1 > 0xfe ||
1321 add_c2 < 0x40 || add_c2 > 0xfe) { 1320 add_c2 < 0x40 || add_c2 > 0xfe) {
1322 - trace_ds(" [invalid DBCS RA character X'%02x%02x'; write aborted]",  
1323 - add_c1, add_c2); 1321 + trace_ds(&h3270," [invalid DBCS RA character X'%02x%02x'; write aborted]",add_c1, add_c2);
1324 ABORT_WRITEx; 1322 ABORT_WRITEx;
1325 } 1323 }
1326 dbcs_to_mb(add_c1, add_c2, mb); 1324 dbcs_to_mb(add_c1, add_c2, mb);
1327 - trace_ds_nb("'%s'", mb); 1325 + trace_ds_nb(&h3270,"'%s'", mb);
1328 } else 1326 } else
1329 #endif /*]*/ 1327 #endif /*]*/
1330 { 1328 {
1331 if (*cp == ORDER_GE) { 1329 if (*cp == ORDER_GE) {
1332 ra_ge = True; 1330 ra_ge = True;
1333 - trace_ds("GraphicEscape"); 1331 + trace_ds(&h3270,"GraphicEscape");
1334 cp++; 1332 cp++;
1335 } 1333 }
1336 add_c1 = *cp; 1334 add_c1 = *cp;
1337 if (add_c1) 1335 if (add_c1)
1338 - trace_ds("'");  
1339 - trace_ds("%s", see_ebc(add_c1)); 1336 + trace_ds(&h3270,"'");
  1337 + trace_ds(&h3270,"%s", see_ebc(add_c1));
1340 if (add_c1) 1338 if (add_c1)
1341 - trace_ds("'"); 1339 + trace_ds(&h3270,"'");
1342 } 1340 }
1343 if (baddr >= h3270.cols * h3270.rows) { 1341 if (baddr >= h3270.cols * h3270.rows) {
1344 ABORT_WRITE("invalid RA address"); 1342 ABORT_WRITE("invalid RA address");
@@ -1376,7 +1374,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1376,7 +1374,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1376 baddr = DECODE_BADDR(*(cp-1), *cp); 1374 baddr = DECODE_BADDR(*(cp-1), *cp);
1377 END_TEXT("EraseUnprotectedAll"); 1375 END_TEXT("EraseUnprotectedAll");
1378 if (previous != SBA) 1376 if (previous != SBA)
1379 - trace_ds("%s",rcba(&h3270,baddr)); 1377 + trace_ds(&h3270,"%s",rcba(&h3270,baddr));
1380 previous = ORDER; 1378 previous = ORDER;
1381 if (baddr >= h3270.cols * h3270.rows) { 1379 if (baddr >= h3270.cols * h3270.rows) {
1382 ABORT_WRITE("invalid EUA address"); 1380 ABORT_WRITE("invalid EUA address");
@@ -1408,10 +1406,10 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1408,10 +1406,10 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1408 cp++; /* skip char */ 1406 cp++; /* skip char */
1409 previous = ORDER; 1407 previous = ORDER;
1410 if (*cp) 1408 if (*cp)
1411 - trace_ds("'");  
1412 - trace_ds("%s", see_ebc(*cp)); 1409 + trace_ds(&h3270,"'");
  1410 + trace_ds(&h3270,"%s", see_ebc(*cp));
1413 if (*cp) 1411 if (*cp)
1414 - trace_ds("'"); 1412 + trace_ds(&h3270,"'");
1415 ctlr_add(&h3270,h3270.buffer_addr, *cp, CS_GE); 1413 ctlr_add(&h3270,h3270.buffer_addr, *cp, CS_GE);
1416 ctlr_add_fg(&h3270,h3270.buffer_addr, h3270.default_fg); 1414 ctlr_add_fg(&h3270,h3270.buffer_addr, h3270.default_fg);
1417 ctlr_add_bg(&h3270,h3270.buffer_addr, h3270.default_bg); 1415 ctlr_add_bg(&h3270,h3270.buffer_addr, h3270.default_bg);
@@ -1425,7 +1423,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1425,7 +1423,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1425 case ORDER_MF: /* modify field */ 1423 case ORDER_MF: /* modify field */
1426 END_TEXT("ModifyField"); 1424 END_TEXT("ModifyField");
1427 if (previous != SBA) 1425 if (previous != SBA)
1428 - trace_ds("%s",rcba(&h3270,h3270.buffer_addr)); 1426 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.buffer_addr));
1429 previous = ORDER; 1427 previous = ORDER;
1430 cp++; 1428 cp++;
1431 na = *cp; 1429 na = *cp;
@@ -1433,37 +1431,29 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1433,37 +1431,29 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1433 for (i = 0; i < (int)na; i++) { 1431 for (i = 0; i < (int)na; i++) {
1434 cp++; 1432 cp++;
1435 if (*cp == XA_3270) { 1433 if (*cp == XA_3270) {
1436 - trace_ds(" 3270"); 1434 + trace_ds(&h3270," 3270");
1437 cp++; 1435 cp++;
1438 ctlr_add_fa(&h3270,h3270.buffer_addr, *cp, 1436 ctlr_add_fa(&h3270,h3270.buffer_addr, *cp,
1439 h3270.ea_buf[h3270.buffer_addr].cs); 1437 h3270.ea_buf[h3270.buffer_addr].cs);
1440 - trace_ds("%s",see_attr(*cp)); 1438 + trace_ds(&h3270,"%s",see_attr(*cp));
1441 } else if (*cp == XA_FOREGROUND) { 1439 } else if (*cp == XA_FOREGROUND) {
1442 - trace_ds("%s",  
1443 - see_efa(*cp,  
1444 - *(cp + 1))); 1440 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1445 cp++; 1441 cp++;
1446 if (h3270.m3279) 1442 if (h3270.m3279)
1447 ctlr_add_fg(&h3270,h3270.buffer_addr, *cp); 1443 ctlr_add_fg(&h3270,h3270.buffer_addr, *cp);
1448 } else if (*cp == XA_BACKGROUND) { 1444 } else if (*cp == XA_BACKGROUND) {
1449 - trace_ds("%s",  
1450 - see_efa(*cp,  
1451 - *(cp + 1))); 1445 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1452 cp++; 1446 cp++;
1453 if (h3270.m3279) 1447 if (h3270.m3279)
1454 ctlr_add_bg(&h3270,h3270.buffer_addr, *cp); 1448 ctlr_add_bg(&h3270,h3270.buffer_addr, *cp);
1455 } else if (*cp == XA_HIGHLIGHTING) { 1449 } else if (*cp == XA_HIGHLIGHTING) {
1456 - trace_ds("%s",  
1457 - see_efa(*cp,  
1458 - *(cp + 1))); 1450 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1459 cp++; 1451 cp++;
1460 ctlr_add_gr(&h3270,h3270.buffer_addr, *cp & 0x0f); 1452 ctlr_add_gr(&h3270,h3270.buffer_addr, *cp & 0x0f);
1461 } else if (*cp == XA_CHARSET) { 1453 } else if (*cp == XA_CHARSET) {
1462 int cs = 0; 1454 int cs = 0;
1463 1455
1464 - trace_ds("%s",  
1465 - see_efa(*cp,  
1466 - *(cp + 1))); 1456 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1467 cp++; 1457 cp++;
1468 if (*cp == 0xf1) 1458 if (*cp == 0xf1)
1469 cs = CS_APL; 1459 cs = CS_APL;
@@ -1471,19 +1461,15 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1471,19 +1461,15 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1471 cs = CS_DBCS; 1461 cs = CS_DBCS;
1472 ctlr_add_cs(&h3270,h3270.buffer_addr, cs); 1462 ctlr_add_cs(&h3270,h3270.buffer_addr, cs);
1473 } else if (*cp == XA_ALL) { 1463 } else if (*cp == XA_ALL) {
1474 - trace_ds("%s",  
1475 - see_efa(*cp,  
1476 - *(cp + 1))); 1464 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1477 cp++; 1465 cp++;
1478 } else if (*cp == XA_INPUT_CONTROL) { 1466 } else if (*cp == XA_INPUT_CONTROL) {
1479 - trace_ds("%s",  
1480 - see_efa(*cp,  
1481 - *(cp + 1))); 1467 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1482 ctlr_add_ic(&h3270,h3270.buffer_addr, 1468 ctlr_add_ic(&h3270,h3270.buffer_addr,
1483 (*(cp + 1) == 1)); 1469 (*(cp + 1) == 1));
1484 cp++; 1470 cp++;
1485 } else { 1471 } else {
1486 - trace_ds("%s[unsupported]", see_efa(*cp, *(cp + 1))); 1472 + trace_ds(&h3270,"%s[unsupported]", see_efa(*cp, *(cp + 1)));
1487 cp++; 1473 cp++;
1488 } 1474 }
1489 } 1475 }
@@ -1496,7 +1482,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1496,7 +1482,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1496 case ORDER_SFE: /* start field extended */ 1482 case ORDER_SFE: /* start field extended */
1497 END_TEXT("StartFieldExtended"); 1483 END_TEXT("StartFieldExtended");
1498 if (previous != SBA) 1484 if (previous != SBA)
1499 - trace_ds("%s",rcba(&h3270,h3270.buffer_addr)); 1485 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.buffer_addr));
1500 previous = ORDER; 1486 previous = ORDER;
1501 cp++; /* skip order */ 1487 cp++; /* skip order */
1502 na = *cp; 1488 na = *cp;
@@ -1509,26 +1495,26 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1509,26 +1495,26 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1509 for (i = 0; i < (int)na; i++) { 1495 for (i = 0; i < (int)na; i++) {
1510 cp++; 1496 cp++;
1511 if (*cp == XA_3270) { 1497 if (*cp == XA_3270) {
1512 - trace_ds(" 3270"); 1498 + trace_ds(&h3270," 3270");
1513 cp++; 1499 cp++;
1514 START_FIELD(*cp); 1500 START_FIELD(*cp);
1515 any_fa++; 1501 any_fa++;
1516 } else if (*cp == XA_FOREGROUND) { 1502 } else if (*cp == XA_FOREGROUND) {
1517 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1503 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1518 cp++; 1504 cp++;
1519 if (h3270.m3279) 1505 if (h3270.m3279)
1520 efa_fg = *cp; 1506 efa_fg = *cp;
1521 } else if (*cp == XA_BACKGROUND) { 1507 } else if (*cp == XA_BACKGROUND) {
1522 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1508 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1523 cp++; 1509 cp++;
1524 if (h3270.m3279) 1510 if (h3270.m3279)
1525 efa_bg = *cp; 1511 efa_bg = *cp;
1526 } else if (*cp == XA_HIGHLIGHTING) { 1512 } else if (*cp == XA_HIGHLIGHTING) {
1527 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1513 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1528 cp++; 1514 cp++;
1529 efa_gr = *cp & 0x07; 1515 efa_gr = *cp & 0x07;
1530 } else if (*cp == XA_CHARSET) { 1516 } else if (*cp == XA_CHARSET) {
1531 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1517 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1532 cp++; 1518 cp++;
1533 if (*cp == 0xf1) 1519 if (*cp == 0xf1)
1534 efa_cs = CS_APL; 1520 efa_cs = CS_APL;
@@ -1537,15 +1523,15 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1537,15 +1523,15 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1537 else 1523 else
1538 efa_cs = CS_BASE; 1524 efa_cs = CS_BASE;
1539 } else if (*cp == XA_ALL) { 1525 } else if (*cp == XA_ALL) {
1540 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1526 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1541 cp++; 1527 cp++;
1542 } else if (*cp == XA_INPUT_CONTROL) { 1528 } else if (*cp == XA_INPUT_CONTROL) {
1543 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1529 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1544 if (h3270.dbcs) 1530 if (h3270.dbcs)
1545 efa_ic = (*(cp + 1) == 1); 1531 efa_ic = (*(cp + 1) == 1);
1546 cp++; 1532 cp++;
1547 } else { 1533 } else {
1548 - trace_ds("%s[unsupported]", see_efa(*cp, *(cp + 1))); 1534 + trace_ds(&h3270,"%s[unsupported]", see_efa(*cp, *(cp + 1)));
1549 cp++; 1535 cp++;
1550 } 1536 }
1551 } 1537 }
@@ -1565,25 +1551,25 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1565,25 +1551,25 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1565 previous = ORDER; 1551 previous = ORDER;
1566 cp++; 1552 cp++;
1567 if (*cp == XA_FOREGROUND) { 1553 if (*cp == XA_FOREGROUND) {
1568 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1554 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1569 if (h3270.m3279) 1555 if (h3270.m3279)
1570 h3270.default_fg = *(cp + 1); 1556 h3270.default_fg = *(cp + 1);
1571 } else if (*cp == XA_BACKGROUND) { 1557 } else if (*cp == XA_BACKGROUND) {
1572 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1558 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1573 if (h3270.m3279) 1559 if (h3270.m3279)
1574 h3270.default_bg = *(cp + 1); 1560 h3270.default_bg = *(cp + 1);
1575 } else if (*cp == XA_HIGHLIGHTING) { 1561 } else if (*cp == XA_HIGHLIGHTING) {
1576 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1562 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1577 h3270.default_gr = *(cp + 1) & 0x0f; 1563 h3270.default_gr = *(cp + 1) & 0x0f;
1578 } else if (*cp == XA_ALL) { 1564 } else if (*cp == XA_ALL) {
1579 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1565 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1580 h3270.default_fg = 0; 1566 h3270.default_fg = 0;
1581 h3270.default_bg = 0; 1567 h3270.default_bg = 0;
1582 h3270.default_gr = 0; 1568 h3270.default_gr = 0;
1583 h3270.default_cs = 0; 1569 h3270.default_cs = 0;
1584 h3270.default_ic = 0; 1570 h3270.default_ic = 0;
1585 } else if (*cp == XA_CHARSET) { 1571 } else if (*cp == XA_CHARSET) {
1586 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1572 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1587 switch (*(cp + 1)) { 1573 switch (*(cp + 1)) {
1588 case 0xf1: 1574 case 0xf1:
1589 h3270.default_cs = CS_APL; 1575 h3270.default_cs = CS_APL;
@@ -1596,14 +1582,13 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1596,14 +1582,13 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1596 break; 1582 break;
1597 } 1583 }
1598 } else if (*cp == XA_INPUT_CONTROL) { 1584 } else if (*cp == XA_INPUT_CONTROL) {
1599 - trace_ds("%s", see_efa(*cp, *(cp + 1))); 1585 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1600 if (*(cp + 1) == 1) 1586 if (*(cp + 1) == 1)
1601 h3270.default_ic = 1; 1587 h3270.default_ic = 1;
1602 else 1588 else
1603 h3270.default_ic = 0; 1589 h3270.default_ic = 0;
1604 } else 1590 } else
1605 - trace_ds("%s[unsupported]",  
1606 - see_efa(*cp, *(cp + 1))); 1591 + trace_ds(&h3270,"%s[unsupported]",see_efa(*cp, *(cp + 1)));
1607 cp++; 1592 cp++;
1608 last_cmd = True; 1593 last_cmd = True;
1609 last_zpt = False; 1594 last_zpt = False;
@@ -1727,8 +1712,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1727,8 +1712,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1727 cp--; 1712 cp--;
1728 break; 1713 break;
1729 default: 1714 default:
1730 - trace_ds(" [invalid DBCS control character X'%02x%02x'; write aborted]",  
1731 - add_c1, add_c2); 1715 + trace_ds(&h3270," [invalid DBCS control character X'%02x%02x'; write aborted]",add_c1, add_c2);
1732 ABORT_WRITEx; 1716 ABORT_WRITEx;
1733 break; 1717 break;
1734 } 1718 }
@@ -1758,14 +1742,14 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1758,14 +1742,14 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1758 default: /* enter character */ 1742 default: /* enter character */
1759 if (*cp <= 0x3F) { 1743 if (*cp <= 0x3F) {
1760 END_TEXT("UnsupportedOrder"); 1744 END_TEXT("UnsupportedOrder");
1761 - trace_ds("(%02X)", *cp); 1745 + trace_ds(&h3270,"(%02X)", *cp);
1762 previous = ORDER; 1746 previous = ORDER;
1763 last_cmd = True; 1747 last_cmd = True;
1764 last_zpt = False; 1748 last_zpt = False;
1765 break; 1749 break;
1766 } 1750 }
1767 if (previous != TEXT) 1751 if (previous != TEXT)
1768 - trace_ds(" '"); 1752 + trace_ds(&h3270," '");
1769 previous = TEXT; 1753 previous = TEXT;
1770 #if defined(X3270_DBCS) /*[*/ 1754 #if defined(X3270_DBCS) /*[*/
1771 add_dbcs = False; 1755 add_dbcs = False;
@@ -1782,8 +1766,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1782,8 +1766,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1782 add_c2 = *cp; 1766 add_c2 = *cp;
1783 if (add_c1 < 0x40 || add_c1 > 0xfe || 1767 if (add_c1 < 0x40 || add_c1 > 0xfe ||
1784 add_c2 < 0x40 || add_c2 > 0xfe) { 1768 add_c2 < 0x40 || add_c2 > 0xfe) {
1785 - trace_ds(" [invalid DBCS character X'%02x%02x'; write aborted]",  
1786 - add_c1, add_c2); 1769 + trace_ds(&h3270," [invalid DBCS character X'%02x%02x'; write aborted]",add_c1, add_c2);
1787 ABORT_WRITEx; 1770 ABORT_WRITEx;
1788 } 1771 }
1789 add_dbcs = True; 1772 add_dbcs = True;
@@ -1792,7 +1775,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1792,7 +1775,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1792 } else { 1775 } else {
1793 #endif /*]*/ 1776 #endif /*]*/
1794 add_c1 = *cp; 1777 add_c1 = *cp;
1795 - trace_ds("%s", see_ebc(*cp)); 1778 + trace_ds(&h3270,"%s", see_ebc(*cp));
1796 #if defined(X3270_DBCS) /*[*/ 1779 #if defined(X3270_DBCS) /*[*/
1797 } 1780 }
1798 #endif /*]*/ 1781 #endif /*]*/
@@ -1819,7 +1802,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) @@ -1819,7 +1802,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1819 } 1802 }
1820 set_formatted(&h3270); 1803 set_formatted(&h3270);
1821 END_TEXT0; 1804 END_TEXT0;
1822 - trace_ds("\n"); 1805 + trace_ds(&h3270,"\n");
1823 if (wcc_keyboard_restore) { 1806 if (wcc_keyboard_restore) {
1824 h3270.aid = AID_NO; 1807 h3270.aid = AID_NO;
1825 do_reset(&h3270,False); 1808 do_reset(&h3270,False);
@@ -1872,7 +1855,7 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen) @@ -1872,7 +1855,7 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen)
1872 * we display other control codes as spaces. 1855 * we display other control codes as spaces.
1873 */ 1856 */
1874 1857
1875 - trace_ds("SSCP-LU data\n"); 1858 + trace_ds(&h3270,"SSCP-LU data\n");
1876 for (i = 0; i < buflen; cp++, i++) { 1859 for (i = 0; i < buflen; cp++, i++) {
1877 switch (*cp) { 1860 switch (*cp) {
1878 case FCORDER_NL: 1861 case FCORDER_NL:
@@ -1896,7 +1879,7 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen) @@ -1896,7 +1879,7 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen)
1896 /* Some hosts forget they're talking SSCP-LU. */ 1879 /* Some hosts forget they're talking SSCP-LU. */
1897 cp++; 1880 cp++;
1898 i++; 1881 i++;
1899 - trace_ds(" StartField%s %s [translated to space]\n",rcba(hSession,hSession->buffer_addr), see_attr(*cp)); 1882 + trace_ds(&h3270," StartField%s %s [translated to space]\n",rcba(hSession,hSession->buffer_addr), see_attr(*cp));
1900 ctlr_add(hSession,hSession->buffer_addr, EBC_space, hSession->default_cs); 1883 ctlr_add(hSession,hSession->buffer_addr, EBC_space, hSession->default_cs);
1901 ctlr_add_fg(hSession,hSession->buffer_addr, hSession->default_fg); 1884 ctlr_add_fg(hSession,hSession->buffer_addr, hSession->default_fg);
1902 ctlr_add_bg(hSession,hSession->buffer_addr, hSession->default_bg); 1885 ctlr_add_bg(hSession,hSession->buffer_addr, hSession->default_bg);
@@ -1906,12 +1889,12 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen) @@ -1906,12 +1889,12 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen)
1906 break; 1889 break;
1907 1890
1908 case ORDER_IC: 1891 case ORDER_IC:
1909 - trace_ds(" InsertCursor%s [ignored]\n",rcba(hSession,hSession->buffer_addr)); 1892 + trace_ds(&h3270," InsertCursor%s [ignored]\n",rcba(hSession,hSession->buffer_addr));
1910 break; 1893 break;
1911 1894
1912 case ORDER_SBA: 1895 case ORDER_SBA:
1913 // baddr = DECODE_BADDR(*(cp+1), *(cp+2)); 1896 // baddr = DECODE_BADDR(*(cp+1), *(cp+2));
1914 - trace_ds(" SetBufferAddress%s [ignored]\n", rcba(hSession,DECODE_BADDR(*(cp+1), *(cp+2)))); 1897 + trace_ds(&h3270," SetBufferAddress%s [ignored]\n", rcba(hSession,DECODE_BADDR(*(cp+1), *(cp+2))));
1915 cp += 2; 1898 cp += 2;
1916 i += 2; 1899 i += 2;
1917 break; 1900 break;
@@ -2130,8 +2113,7 @@ ctlr_dbcs_postprocess(void) @@ -2130,8 +2113,7 @@ ctlr_dbcs_postprocess(void)
2130 case EBC_so: 2113 case EBC_so:
2131 /* Two SO's or SO in DBCS field are invalid. */ 2114 /* Two SO's or SO in DBCS field are invalid. */
2132 if (so || dbcs_field) { 2115 if (so || dbcs_field) {
2133 - trace_ds("DBCS postprocess: invalid SO "  
2134 - "found at %s\n", rcba(baddr)); 2116 + trace_ds(&h3270,"DBCS postprocess: invalid SO found at %s\n", rcba(baddr));
2135 rc = -1; 2117 rc = -1;
2136 } else { 2118 } else {
2137 dbaddr = baddr; 2119 dbaddr = baddr;
@@ -2144,8 +2126,7 @@ ctlr_dbcs_postprocess(void) @@ -2144,8 +2126,7 @@ ctlr_dbcs_postprocess(void)
2144 case EBC_si: 2126 case EBC_si:
2145 /* Two SI's or SI in DBCS field are invalid. */ 2127 /* Two SI's or SI in DBCS field are invalid. */
2146 if (si || dbcs_field) { 2128 if (si || dbcs_field) {
2147 - trace_ds("Postprocess: Invalid SO found "  
2148 - "at %s\n", rcba(baddr)); 2129 + trace_ds(&h3270,"Postprocess: Invalid SO found at %s\n", rcba(baddr));
2149 rc = -1; 2130 rc = -1;
2150 ea_buf[baddr].db = DBCS_NONE; 2131 ea_buf[baddr].db = DBCS_NONE;
2151 } else { 2132 } else {
@@ -2158,9 +2139,7 @@ ctlr_dbcs_postprocess(void) @@ -2158,9 +2139,7 @@ ctlr_dbcs_postprocess(void)
2158 default: 2139 default:
2159 /* Non-base CS in DBCS subfield is invalid. */ 2140 /* Non-base CS in DBCS subfield is invalid. */
2160 if (so && ea_buf[baddr].cs != CS_BASE) { 2141 if (so && ea_buf[baddr].cs != CS_BASE) {
2161 - trace_ds("DBCS postprocess: invalid "  
2162 - "character set found at %s\n",  
2163 - rcba(baddr)); 2142 + trace_ds(&h3270,"DBCS postprocess: invalid character set found at %s\n",rcba(baddr));
2164 rc = -1; 2143 rc = -1;
2165 ea_buf[baddr].cs = CS_BASE; 2144 ea_buf[baddr].cs = CS_BASE;
2166 } 2145 }
@@ -2211,8 +2190,7 @@ ctlr_dbcs_postprocess(void) @@ -2211,8 +2190,7 @@ ctlr_dbcs_postprocess(void)
2211 !IS_RIGHT(ea_buf[baddr].db) && 2190 !IS_RIGHT(ea_buf[baddr].db) &&
2212 ea_buf[pbaddr].db != DBCS_DEAD) { 2191 ea_buf[pbaddr].db != DBCS_DEAD) {
2213 if (!ea_buf[baddr].fa) { 2192 if (!ea_buf[baddr].fa) {
2214 - trace_ds("DBCS postprocess: dead position "  
2215 - "at %s\n", rcba(pbaddr)); 2193 + trace_ds(&h3270,"DBCS postprocess: dead position at %s\n", rcba(pbaddr));
2216 rc = -1; 2194 rc = -1;
2217 } 2195 }
2218 ea_buf[pbaddr].cc = EBC_null; 2196 ea_buf[pbaddr].cc = EBC_null;
src/lib3270/ft_cut.c
@@ -288,7 +288,7 @@ ft_cut_data(void) @@ -288,7 +288,7 @@ ft_cut_data(void)
288 cut_data(); 288 cut_data();
289 break; 289 break;
290 default: 290 default:
291 - trace_ds("< FT unknown 0x%02x\n", h3270.ea_buf[O_FRAME_TYPE].cc); 291 + trace_ds(&h3270,"< FT unknown 0x%02x\n", h3270.ea_buf[O_FRAME_TYPE].cc);
292 cut_abort(SC_ABORT_XMIT, "%s", _("Unknown frame type from host")); 292 cut_abort(SC_ABORT_XMIT, "%s", _("Unknown frame type from host"));
293 break; 293 break;
294 } 294 }
@@ -305,12 +305,12 @@ cut_control_code(void) @@ -305,12 +305,12 @@ cut_control_code(void)
305 char *bp; 305 char *bp;
306 int i; 306 int i;
307 307
308 - trace_ds("< FT CONTROL_CODE "); 308 + trace_ds(&h3270,"< FT CONTROL_CODE ");
309 code = (h3270.ea_buf[O_CC_STATUS_CODE].cc << 8) | h3270.ea_buf[O_CC_STATUS_CODE + 1].cc; 309 code = (h3270.ea_buf[O_CC_STATUS_CODE].cc << 8) | h3270.ea_buf[O_CC_STATUS_CODE + 1].cc;
310 switch (code) 310 switch (code)
311 { 311 {
312 case SC_HOST_ACK: 312 case SC_HOST_ACK:
313 - trace_ds("HOST_ACK\n"); 313 + trace_ds(&h3270,"HOST_ACK\n");
314 cut_xfer_in_progress = True; 314 cut_xfer_in_progress = True;
315 expanded_length = 0; 315 expanded_length = 0;
316 quadrant = -1; 316 quadrant = -1;
@@ -320,7 +320,7 @@ cut_control_code(void) @@ -320,7 +320,7 @@ cut_control_code(void)
320 break; 320 break;
321 321
322 case SC_XFER_COMPLETE: 322 case SC_XFER_COMPLETE:
323 - trace_ds("XFER_COMPLETE\n"); 323 + trace_ds(&h3270,"XFER_COMPLETE\n");
324 cut_ack(); 324 cut_ack();
325 cut_xfer_in_progress = False; 325 cut_xfer_in_progress = False;
326 ft_complete(NULL,N_( "Complete" ) ); 326 ft_complete(NULL,N_( "Complete" ) );
@@ -328,7 +328,7 @@ cut_control_code(void) @@ -328,7 +328,7 @@ cut_control_code(void)
328 328
329 case SC_ABORT_FILE: 329 case SC_ABORT_FILE:
330 case SC_ABORT_XMIT: 330 case SC_ABORT_XMIT:
331 - trace_ds("ABORT\n"); 331 + trace_ds(&h3270,"ABORT\n");
332 cut_xfer_in_progress = False; 332 cut_xfer_in_progress = False;
333 cut_ack(); 333 cut_ack();
334 334
@@ -363,7 +363,7 @@ cut_control_code(void) @@ -363,7 +363,7 @@ cut_control_code(void)
363 break; 363 break;
364 364
365 default: 365 default:
366 - trace_ds("unknown 0x%04x\n", code); 366 + trace_ds(&h3270,"unknown 0x%04x\n", code);
367 cut_abort(SC_ABORT_XMIT, "%s", _("Unknown FT control code from host")); 367 cut_abort(SC_ABORT_XMIT, "%s", _("Unknown FT control code from host"));
368 break; 368 break;
369 } 369 }
@@ -382,7 +382,7 @@ cut_data_request(void) @@ -382,7 +382,7 @@ cut_data_request(void)
382 int i; 382 int i;
383 unsigned char attr; 383 unsigned char attr;
384 384
385 - trace_ds("< FT DATA_REQUEST %u\n", from6(seq)); 385 + trace_ds(&h3270,"< FT DATA_REQUEST %u\n", from6(seq));
386 if (lib3270_get_ft_state(&h3270) == FT_ABORT_WAIT) 386 if (lib3270_get_ft_state(&h3270) == FT_ABORT_WAIT)
387 { 387 {
388 cut_abort(SC_ABORT_FILE,"%s",N_("Transfer cancelled by user")); 388 cut_abort(SC_ABORT_FILE,"%s",N_("Transfer cancelled by user"));
@@ -431,7 +431,7 @@ cut_data_request(void) @@ -431,7 +431,7 @@ cut_data_request(void)
431 ctlr_add_fa(&h3270,O_DR_SF, attr, 0); 431 ctlr_add_fa(&h3270,O_DR_SF, attr, 0);
432 432
433 /* Send it up to the host. */ 433 /* Send it up to the host. */
434 - trace_ds("> FT DATA %u\n", from6(seq)); 434 + trace_ds(&h3270,"> FT DATA %u\n", from6(seq));
435 ft_update_length(NULL); 435 ft_update_length(NULL);
436 expanded_length += count; 436 expanded_length += count;
437 437
@@ -444,7 +444,7 @@ cut_data_request(void) @@ -444,7 +444,7 @@ cut_data_request(void)
444 static void 444 static void
445 cut_retransmit(void) 445 cut_retransmit(void)
446 { 446 {
447 - trace_ds("< FT RETRANSMIT\n"); 447 + trace_ds(&h3270,"< FT RETRANSMIT\n");
448 cut_abort(SC_ABORT_XMIT,"%s",_("Transmission error")); 448 cut_abort(SC_ABORT_XMIT,"%s",_("Transmission error"));
449 } 449 }
450 450
@@ -474,7 +474,7 @@ cut_data(void) @@ -474,7 +474,7 @@ cut_data(void)
474 int conv_length; 474 int conv_length;
475 register int i; 475 register int i;
476 476
477 - trace_ds("< FT DATA\n"); 477 + trace_ds(&h3270,"< FT DATA\n");
478 if (((H3270FT *) h3270.ft)->state == LIB3270_FT_STATE_ABORT_WAIT) 478 if (((H3270FT *) h3270.ft)->state == LIB3270_FT_STATE_ABORT_WAIT)
479 { 479 {
480 cut_abort(SC_ABORT_FILE,"%s",_("Transfer cancelled by user")); 480 cut_abort(SC_ABORT_FILE,"%s",_("Transfer cancelled by user"));
@@ -492,7 +492,7 @@ cut_data(void) @@ -492,7 +492,7 @@ cut_data(void)
492 cvbuf[i] = h3270.ea_buf[O_DT_DATA + i].cc; 492 cvbuf[i] = h3270.ea_buf[O_DT_DATA + i].cc;
493 493
494 if (raw_length == 2 && cvbuf[0] == EOF_DATA1 && cvbuf[1] == EOF_DATA2) { 494 if (raw_length == 2 && cvbuf[0] == EOF_DATA1 && cvbuf[1] == EOF_DATA2) {
495 - trace_ds("< FT EOF\n"); 495 + trace_ds(&h3270,"< FT EOF\n");
496 cut_ack(); 496 cut_ack();
497 return; 497 return;
498 } 498 }
@@ -515,7 +515,7 @@ cut_data(void) @@ -515,7 +515,7 @@ cut_data(void)
515 */ 515 */
516 static void cut_ack(void) 516 static void cut_ack(void)
517 { 517 {
518 - trace_ds("> FT ACK\n"); 518 + trace_ds(&h3270,"> FT ACK\n");
519 lib3270_enter(&h3270); 519 lib3270_enter(&h3270);
520 } 520 }
521 521
@@ -539,7 +539,7 @@ static void cut_abort(unsigned short reason, const char *fmt, ...) @@ -539,7 +539,7 @@ static void cut_abort(unsigned short reason, const char *fmt, ...)
539 ctlr_add(&h3270,RO_FRAME_SEQ, h3270.ea_buf[O_DT_FRAME_SEQ].cc, 0); 539 ctlr_add(&h3270,RO_FRAME_SEQ, h3270.ea_buf[O_DT_FRAME_SEQ].cc, 0);
540 ctlr_add(&h3270,RO_REASON_CODE, HIGH8(reason), 0); 540 ctlr_add(&h3270,RO_REASON_CODE, HIGH8(reason), 0);
541 ctlr_add(&h3270,RO_REASON_CODE+1, LOW8(reason), 0); 541 ctlr_add(&h3270,RO_REASON_CODE+1, LOW8(reason), 0);
542 - trace_ds("> FT CONTROL_CODE ABORT\n"); 542 + trace_ds(&h3270,"> FT CONTROL_CODE ABORT\n");
543 543
544 lib3270_pfkey(&h3270,2); 544 lib3270_pfkey(&h3270,2);
545 545
src/lib3270/ft_dft.c
@@ -108,7 +108,7 @@ ft_dft_data(unsigned char *data, int length unused) @@ -108,7 +108,7 @@ ft_dft_data(unsigned char *data, int length unused)
108 108
109 if (lib3270_get_ft_state(&h3270) == FT_NONE) 109 if (lib3270_get_ft_state(&h3270) == FT_NONE)
110 { 110 {
111 - trace_ds(" (no transfer in progress)\n"); 111 + trace_ds(&h3270," (no transfer in progress)\n");
112 return; 112 return;
113 } 113 }
114 114
@@ -141,7 +141,7 @@ ft_dft_data(unsigned char *data, int length unused) @@ -141,7 +141,7 @@ ft_dft_data(unsigned char *data, int length unused)
141 dft_close_request(); 141 dft_close_request();
142 break; 142 break;
143 default: 143 default:
144 - trace_ds(" Unsupported(0x%04x)\n", data_type); 144 + trace_ds(&h3270," Unsupported(0x%04x)\n", data_type);
145 break; 145 break;
146 } 146 }
147 } 147 }
@@ -175,9 +175,9 @@ dft_open_request(unsigned short len, unsigned char *cp) @@ -175,9 +175,9 @@ dft_open_request(unsigned short len, unsigned char *cp)
175 *s-- = '\0'; 175 *s-- = '\0';
176 } 176 }
177 if (recsz) { 177 if (recsz) {
178 - trace_ds(" Open('%s',recsz=%u)\n", namebuf, recsz); 178 + trace_ds(&h3270," Open('%s',recsz=%u)\n", namebuf, recsz);
179 } else { 179 } else {
180 - trace_ds(" Open('%s')\n", namebuf); 180 + trace_ds(&h3270," Open('%s')\n", namebuf);
181 } 181 }
182 182
183 if (!strcmp(namebuf, OPEN_MSG)) 183 if (!strcmp(namebuf, OPEN_MSG))
@@ -190,7 +190,7 @@ dft_open_request(unsigned short len, unsigned char *cp) @@ -190,7 +190,7 @@ dft_open_request(unsigned short len, unsigned char *cp)
190 recnum = 1; 190 recnum = 1;
191 191
192 /* Acknowledge the Open. */ 192 /* Acknowledge the Open. */
193 - trace_ds("> WriteStructuredField FileTransferData OpenAck\n"); 193 + trace_ds(&h3270,"> WriteStructuredField FileTransferData OpenAck\n");
194 h3270.obptr = h3270.obuf; 194 h3270.obptr = h3270.obuf;
195 space3270out(&h3270,6); 195 space3270out(&h3270,6);
196 *h3270.obptr++ = AID_SF; 196 *h3270.obptr++ = AID_SF;
@@ -204,7 +204,7 @@ dft_open_request(unsigned short len, unsigned char *cp) @@ -204,7 +204,7 @@ dft_open_request(unsigned short len, unsigned char *cp)
204 static void 204 static void
205 dft_insert_request(void) 205 dft_insert_request(void)
206 { 206 {
207 - trace_ds(" Insert\n"); 207 + trace_ds(&h3270," Insert\n");
208 /* Doesn't currently do anything. */ 208 /* Doesn't currently do anything. */
209 } 209 }
210 210
@@ -230,7 +230,7 @@ dft_data_insert(struct data_buffer *data_bufr) @@ -230,7 +230,7 @@ dft_data_insert(struct data_buffer *data_bufr)
230 /* Adjust for 5 extra count */ 230 /* Adjust for 5 extra count */
231 my_length -= 5; 231 my_length -= 5;
232 232
233 - trace_ds(" Data(rec=%lu) %d bytes\n", recnum, my_length); 233 + trace_ds(&h3270," Data(rec=%lu) %d bytes\n", recnum, my_length);
234 234
235 /* 235 /*
236 * First, check to see if we have message data or file data. 236 * First, check to see if we have message data or file data.
@@ -315,7 +315,7 @@ dft_data_insert(struct data_buffer *data_bufr) @@ -315,7 +315,7 @@ dft_data_insert(struct data_buffer *data_bufr)
315 } 315 }
316 316
317 /* Send an acknowledgement frame back. */ 317 /* Send an acknowledgement frame back. */
318 - trace_ds("> WriteStructuredField FileTransferData DataAck(rec=%lu)\n", recnum); 318 + trace_ds(&h3270,"> WriteStructuredField FileTransferData DataAck(rec=%lu)\n", recnum);
319 h3270.obptr = h3270.obuf; 319 h3270.obptr = h3270.obuf;
320 space3270out(&h3270,12); 320 space3270out(&h3270,12);
321 *h3270.obptr++ = AID_SF; 321 *h3270.obptr++ = AID_SF;
@@ -332,7 +332,7 @@ dft_data_insert(struct data_buffer *data_bufr) @@ -332,7 +332,7 @@ dft_data_insert(struct data_buffer *data_bufr)
332 static void 332 static void
333 dft_set_cur_req(void) 333 dft_set_cur_req(void)
334 { 334 {
335 - trace_ds(" SetCursor\n"); 335 + trace_ds(&h3270," SetCursor\n");
336 /* Currently doesn't do anything. */ 336 /* Currently doesn't do anything. */
337 } 337 }
338 338
@@ -345,7 +345,7 @@ dft_get_request(void) @@ -345,7 +345,7 @@ dft_get_request(void)
345 size_t total_read = 0; 345 size_t total_read = 0;
346 unsigned char *bufptr; 346 unsigned char *bufptr;
347 347
348 - trace_ds(" Get\n"); 348 + trace_ds(&h3270," Get\n");
349 349
350 if (!message_flag && lib3270_get_ft_state(&h3270) == FT_ABORT_WAIT) { 350 if (!message_flag && lib3270_get_ft_state(&h3270) == FT_ABORT_WAIT) {
351 dft_abort(TR_GET_REQ, _( "Transfer cancelled by user" ) ); 351 dft_abort(TR_GET_REQ, _( "Transfer cancelled by user" ) );
@@ -422,8 +422,7 @@ dft_get_request(void) @@ -422,8 +422,7 @@ dft_get_request(void)
422 *h3270.obptr++ = SF_TRANSFER_DATA; 422 *h3270.obptr++ = SF_TRANSFER_DATA;
423 423
424 if (total_read) { 424 if (total_read) {
425 - trace_ds("> WriteStructuredField FileTransferData Data(rec=%lu) %d bytes\n",  
426 - (unsigned long) recnum, (int) total_read); 425 + trace_ds(&h3270,"> WriteStructuredField FileTransferData Data(rec=%lu) %d bytes\n",(unsigned long) recnum, (int) total_read);
427 SET16(h3270.obptr, TR_GET_REPLY); 426 SET16(h3270.obptr, TR_GET_REPLY);
428 SET16(h3270.obptr, TR_RECNUM_HDR); 427 SET16(h3270.obptr, TR_RECNUM_HDR);
429 SET32(h3270.obptr, recnum); 428 SET32(h3270.obptr, recnum);
@@ -441,7 +440,7 @@ dft_get_request(void) @@ -441,7 +440,7 @@ dft_get_request(void)
441 } 440 }
442 441
443 } else { 442 } else {
444 - trace_ds("> WriteStructuredField FileTransferData EOF\n"); 443 + trace_ds(&h3270,"> WriteStructuredField FileTransferData EOF\n");
445 *h3270.obptr++ = HIGH8(TR_GET_REQ); 444 *h3270.obptr++ = HIGH8(TR_GET_REQ);
446 *h3270.obptr++ = TR_ERROR_REPLY; 445 *h3270.obptr++ = TR_ERROR_REPLY;
447 SET16(h3270.obptr, TR_ERROR_HDR); 446 SET16(h3270.obptr, TR_ERROR_HDR);
@@ -476,8 +475,8 @@ dft_close_request(void) @@ -476,8 +475,8 @@ dft_close_request(void)
476 * Recieved a close request from the system. 475 * Recieved a close request from the system.
477 * Return a close acknowledgement. 476 * Return a close acknowledgement.
478 */ 477 */
479 - trace_ds(" Close\n");  
480 - trace_ds("> WriteStructuredField FileTransferData CloseAck\n"); 478 + trace_ds(&h3270," Close\n");
  479 + trace_ds(&h3270,"> WriteStructuredField FileTransferData CloseAck\n");
481 h3270.obptr = h3270.obuf; 480 h3270.obptr = h3270.obuf;
482 space3270out(&h3270,6); 481 space3270out(&h3270,6);
483 *h3270.obptr++ = AID_SF; 482 *h3270.obptr++ = AID_SF;
@@ -499,7 +498,7 @@ static void dft_abort(unsigned short code, const char *fmt, ...) @@ -499,7 +498,7 @@ static void dft_abort(unsigned short code, const char *fmt, ...)
499 abort_string = lib3270_vsprintf(fmt, args); 498 abort_string = lib3270_vsprintf(fmt, args);
500 va_end(args); 499 va_end(args);
501 500
502 - trace_ds("> WriteStructuredField FileTransferData Error\n"); 501 + trace_ds(&h3270,"> WriteStructuredField FileTransferData Error\n");
503 502
504 h3270.obptr = h3270.obuf; 503 h3270.obptr = h3270.obuf;
505 space3270out(&h3270,10); 504 space3270out(&h3270,10);
@@ -535,7 +534,7 @@ dft_read_modified(void) @@ -535,7 +534,7 @@ dft_read_modified(void)
535 { 534 {
536 if (dft_savebuf_len) 535 if (dft_savebuf_len)
537 { 536 {
538 - trace_ds("> WriteStructuredField FileTransferData\n"); 537 + trace_ds(&h3270,"> WriteStructuredField FileTransferData\n");
539 h3270.obptr = h3270.obuf; 538 h3270.obptr = h3270.obuf;
540 space3270out(&h3270,dft_savebuf_len); 539 space3270out(&h3270,dft_savebuf_len);
541 memcpy(h3270.obptr, dft_savebuf, dft_savebuf_len); 540 memcpy(h3270.obptr, dft_savebuf, dft_savebuf_len);
src/lib3270/rpq.c
@@ -133,7 +133,7 @@ void do_qr_rpqnames(void) @@ -133,7 +133,7 @@ void do_qr_rpqnames(void)
133 int remaining = 254; /* maximum data area for rpqname reply */ 133 int remaining = 254; /* maximum data area for rpqname reply */
134 Boolean omit_due_space_limit; 134 Boolean omit_due_space_limit;
135 135
136 - trace_ds("> QueryReply(RPQNames)\n"); 136 + trace_ds(&h3270,"> QueryReply(RPQNames)\n");
137 137
138 /* 138 /*
139 * Allocate enough space for the maximum allowed item. 139 * Allocate enough space for the maximum allowed item.
src/lib3270/sf.c
@@ -167,61 +167,58 @@ write_structured_field(unsigned char buf[], int buflen) @@ -167,61 +167,58 @@ write_structured_field(unsigned char buf[], int buflen)
167 while (buflen > 0) { 167 while (buflen > 0) {
168 168
169 if (first) 169 if (first)
170 - trace_ds(" "); 170 + trace_ds(&h3270," ");
171 else 171 else
172 - trace_ds("< WriteStructuredField "); 172 + trace_ds(&h3270,"< WriteStructuredField ");
173 first = False; 173 first = False;
174 174
175 /* Pick out the field length. */ 175 /* Pick out the field length. */
176 if (buflen < 2) { 176 if (buflen < 2) {
177 - trace_ds("error: single byte at end of message\n"); 177 + trace_ds(&h3270,"error: single byte at end of message\n");
178 return rv ? rv : PDS_BAD_CMD; 178 return rv ? rv : PDS_BAD_CMD;
179 } 179 }
180 fieldlen = (cp[0] << 8) + cp[1]; 180 fieldlen = (cp[0] << 8) + cp[1];
181 if (fieldlen == 0) 181 if (fieldlen == 0)
182 fieldlen = buflen; 182 fieldlen = buflen;
183 if (fieldlen < 3) { 183 if (fieldlen < 3) {
184 - trace_ds("error: field length %d too small\n",  
185 - fieldlen); 184 + trace_ds(&h3270,"error: field length %d too small\n",fieldlen);
186 return rv ? rv : PDS_BAD_CMD; 185 return rv ? rv : PDS_BAD_CMD;
187 } 186 }
188 if ((int)fieldlen > buflen) { 187 if ((int)fieldlen > buflen) {
189 - trace_ds("error: field length %d exceeds remaining "  
190 - "message length %d\n",  
191 - fieldlen, buflen); 188 + trace_ds(&h3270,"error: field length %d exceeds remaining message length %d\n",fieldlen, buflen);
192 return rv ? rv : PDS_BAD_CMD; 189 return rv ? rv : PDS_BAD_CMD;
193 } 190 }
194 191
195 /* Dispatch on the ID. */ 192 /* Dispatch on the ID. */
196 switch (cp[2]) { 193 switch (cp[2]) {
197 case SF_READ_PART: 194 case SF_READ_PART:
198 - trace_ds("ReadPartition"); 195 + trace_ds(&h3270,"ReadPartition");
199 rv_this = sf_read_part(cp, (int)fieldlen); 196 rv_this = sf_read_part(cp, (int)fieldlen);
200 break; 197 break;
201 case SF_ERASE_RESET: 198 case SF_ERASE_RESET:
202 - trace_ds("EraseReset"); 199 + trace_ds(&h3270,"EraseReset");
203 rv_this = sf_erase_reset(cp, (int)fieldlen); 200 rv_this = sf_erase_reset(cp, (int)fieldlen);
204 break; 201 break;
205 case SF_SET_REPLY_MODE: 202 case SF_SET_REPLY_MODE:
206 - trace_ds("SetReplyMode"); 203 + trace_ds(&h3270,"SetReplyMode");
207 rv_this = sf_set_reply_mode(cp, (int)fieldlen); 204 rv_this = sf_set_reply_mode(cp, (int)fieldlen);
208 break; 205 break;
209 case SF_CREATE_PART: 206 case SF_CREATE_PART:
210 - trace_ds("CreatePartition"); 207 + trace_ds(&h3270,"CreatePartition");
211 rv_this = sf_create_partition(cp, (int)fieldlen); 208 rv_this = sf_create_partition(cp, (int)fieldlen);
212 break; 209 break;
213 case SF_OUTBOUND_DS: 210 case SF_OUTBOUND_DS:
214 - trace_ds("OutboundDS"); 211 + trace_ds(&h3270,"OutboundDS");
215 rv_this = sf_outbound_ds(cp, (int)fieldlen); 212 rv_this = sf_outbound_ds(cp, (int)fieldlen);
216 break; 213 break;
217 #if defined(X3270_FT) /*[*/ 214 #if defined(X3270_FT) /*[*/
218 case SF_TRANSFER_DATA: /* File transfer data */ 215 case SF_TRANSFER_DATA: /* File transfer data */
219 - trace_ds("FileTransferData"); 216 + trace_ds(&h3270,"FileTransferData");
220 ft_dft_data(cp, (int)fieldlen); 217 ft_dft_data(cp, (int)fieldlen);
221 break; 218 break;
222 #endif /*]*/ 219 #endif /*]*/
223 default: 220 default:
224 - trace_ds("unsupported ID 0x%02x\n", cp[2]); 221 + trace_ds(&h3270,"unsupported ID 0x%02x\n", cp[2]);
225 rv_this = PDS_BAD_CMD; 222 rv_this = PDS_BAD_CMD;
226 break; 223 break;
227 } 224 }
@@ -243,7 +240,7 @@ write_structured_field(unsigned char buf[], int buflen) @@ -243,7 +240,7 @@ write_structured_field(unsigned char buf[], int buflen)
243 buflen -= fieldlen; 240 buflen -= fieldlen;
244 } 241 }
245 if (first) 242 if (first)
246 - trace_ds(" (null)\n"); 243 + trace_ds(&h3270," (null)\n");
247 244
248 if (bad_cmd && !rv) 245 if (bad_cmd && !rv)
249 return PDS_BAD_CMD; 246 return PDS_BAD_CMD;
@@ -259,22 +256,23 @@ sf_read_part(unsigned char buf[], unsigned buflen) @@ -259,22 +256,23 @@ sf_read_part(unsigned char buf[], unsigned buflen)
259 int any = 0; 256 int any = 0;
260 const char *comma = ""; 257 const char *comma = "";
261 258
262 - if (buflen < 5) {  
263 - trace_ds(" error: field length %d too small\n", buflen); 259 + if (buflen < 5)
  260 + {
  261 + trace_ds(&h3270," error: field length %d too small\n", buflen);
264 return PDS_BAD_CMD; 262 return PDS_BAD_CMD;
265 } 263 }
266 264
267 partition = buf[3]; 265 partition = buf[3];
268 - trace_ds("(0x%02x)", partition); 266 + trace_ds(&h3270,"(0x%02x)", partition);
269 267
270 switch (buf[4]) { 268 switch (buf[4]) {
271 case SF_RP_QUERY: 269 case SF_RP_QUERY:
272 - trace_ds(" Query"); 270 + trace_ds(&h3270," Query");
273 if (partition != 0xff) { 271 if (partition != 0xff) {
274 - trace_ds(" error: illegal partition\n"); 272 + trace_ds(&h3270," error: illegal partition\n");
275 return PDS_BAD_CMD; 273 return PDS_BAD_CMD;
276 } 274 }
277 - trace_ds("\n"); 275 + trace_ds(&h3270,"\n");
278 query_reply_start(); 276 query_reply_start();
279 for (i = 0; i < NSR; i++) { 277 for (i = 0; i < NSR; i++) {
280 #if defined(X3270_DBCS) /*[*/ 278 #if defined(X3270_DBCS) /*[*/
@@ -285,29 +283,28 @@ sf_read_part(unsigned char buf[], unsigned buflen) @@ -285,29 +283,28 @@ sf_read_part(unsigned char buf[], unsigned buflen)
285 query_reply_end(); 283 query_reply_end();
286 break; 284 break;
287 case SF_RP_QLIST: 285 case SF_RP_QLIST:
288 - trace_ds(" QueryList "); 286 + trace_ds(&h3270," QueryList ");
289 if (partition != 0xff) { 287 if (partition != 0xff) {
290 - trace_ds("error: illegal partition\n"); 288 + trace_ds(&h3270,"error: illegal partition\n");
291 return PDS_BAD_CMD; 289 return PDS_BAD_CMD;
292 } 290 }
293 if (buflen < 6) { 291 if (buflen < 6) {
294 - trace_ds("error: missing request type\n"); 292 + trace_ds(&h3270,"error: missing request type\n");
295 return PDS_BAD_CMD; 293 return PDS_BAD_CMD;
296 } 294 }
297 query_reply_start(); 295 query_reply_start();
298 switch (buf[5]) { 296 switch (buf[5]) {
299 case SF_RPQ_LIST: 297 case SF_RPQ_LIST:
300 - trace_ds("List("); 298 + trace_ds(&h3270,"List(");
301 if (buflen < 7) { 299 if (buflen < 7) {
302 - trace_ds(")\n"); 300 + trace_ds(&h3270,")\n");
303 do_query_reply(QR_NULL); 301 do_query_reply(QR_NULL);
304 } else { 302 } else {
305 for (i = 6; i < buflen; i++) { 303 for (i = 6; i < buflen; i++) {
306 - trace_ds("%s%s", comma,  
307 - see_qcode(buf[i])); 304 + trace_ds(&h3270,"%s%s", comma,see_qcode(buf[i]));
308 comma = ","; 305 comma = ",";
309 } 306 }
310 - trace_ds(")\n"); 307 + trace_ds(&h3270,")\n");
311 for (i = 0; i < NSR; i++) { 308 for (i = 0; i < NSR; i++) {
312 if (memchr((char *)&buf[6], 309 if (memchr((char *)&buf[6],
313 (char)replies[i].code, 310 (char)replies[i].code,
@@ -327,12 +324,12 @@ sf_read_part(unsigned char buf[], unsigned buflen) @@ -327,12 +324,12 @@ sf_read_part(unsigned char buf[], unsigned buflen)
327 } 324 }
328 break; 325 break;
329 case SF_RPQ_EQUIV: 326 case SF_RPQ_EQUIV:
330 - trace_ds("Equivlent+List("); 327 + trace_ds(&h3270,"Equivlent+List(");
331 for (i = 6; i < buflen; i++) { 328 for (i = 6; i < buflen; i++) {
332 - trace_ds("%s%s", comma, see_qcode(buf[i])); 329 + trace_ds(&h3270,"%s%s", comma, see_qcode(buf[i]));
333 comma = ","; 330 comma = ",";
334 } 331 }
335 - trace_ds(")\n"); 332 + trace_ds(&h3270,")\n");
336 for (i = 0; i < NSR; i++) 333 for (i = 0; i < NSR; i++)
337 #if defined(X3270_DBCS) /*[*/ 334 #if defined(X3270_DBCS) /*[*/
338 if (dbcs || replies[i].code != QR_DBCS_ASIA) 335 if (dbcs || replies[i].code != QR_DBCS_ASIA)
@@ -340,7 +337,7 @@ sf_read_part(unsigned char buf[], unsigned buflen) @@ -340,7 +337,7 @@ sf_read_part(unsigned char buf[], unsigned buflen)
340 do_query_reply(replies[i].code); 337 do_query_reply(replies[i].code);
341 break; 338 break;
342 case SF_RPQ_ALL: 339 case SF_RPQ_ALL:
343 - trace_ds("All\n"); 340 + trace_ds(&h3270,"All\n");
344 for (i = 0; i < NSR; i++) 341 for (i = 0; i < NSR; i++)
345 #if defined(X3270_DBCS) /*[*/ 342 #if defined(X3270_DBCS) /*[*/
346 if (dbcs || replies[i].code != QR_DBCS_ASIA) 343 if (dbcs || replies[i].code != QR_DBCS_ASIA)
@@ -348,40 +345,40 @@ sf_read_part(unsigned char buf[], unsigned buflen) @@ -348,40 +345,40 @@ sf_read_part(unsigned char buf[], unsigned buflen)
348 do_query_reply(replies[i].code); 345 do_query_reply(replies[i].code);
349 break; 346 break;
350 default: 347 default:
351 - trace_ds("unknown request type 0x%02x\n", buf[5]); 348 + trace_ds(&h3270,"unknown request type 0x%02x\n", buf[5]);
352 return PDS_BAD_CMD; 349 return PDS_BAD_CMD;
353 } 350 }
354 query_reply_end(); 351 query_reply_end();
355 break; 352 break;
356 case SNA_CMD_RMA: 353 case SNA_CMD_RMA:
357 - trace_ds(" ReadModifiedAll"); 354 + trace_ds(&h3270," ReadModifiedAll");
358 if (partition != 0x00) { 355 if (partition != 0x00) {
359 - trace_ds(" error: illegal partition\n"); 356 + trace_ds(&h3270," error: illegal partition\n");
360 return PDS_BAD_CMD; 357 return PDS_BAD_CMD;
361 } 358 }
362 - trace_ds("\n"); 359 + trace_ds(&h3270,"\n");
363 ctlr_read_modified(AID_QREPLY, True); 360 ctlr_read_modified(AID_QREPLY, True);
364 break; 361 break;
365 case SNA_CMD_RB: 362 case SNA_CMD_RB:
366 - trace_ds(" ReadBuffer"); 363 + trace_ds(&h3270," ReadBuffer");
367 if (partition != 0x00) { 364 if (partition != 0x00) {
368 - trace_ds(" error: illegal partition\n"); 365 + trace_ds(&h3270," error: illegal partition\n");
369 return PDS_BAD_CMD; 366 return PDS_BAD_CMD;
370 } 367 }
371 - trace_ds("\n"); 368 + trace_ds(&h3270,"\n");
372 ctlr_read_buffer(&h3270,AID_QREPLY); 369 ctlr_read_buffer(&h3270,AID_QREPLY);
373 break; 370 break;
374 case SNA_CMD_RM: 371 case SNA_CMD_RM:
375 - trace_ds(" ReadModified"); 372 + trace_ds(&h3270," ReadModified");
376 if (partition != 0x00) { 373 if (partition != 0x00) {
377 - trace_ds(" error: illegal partition\n"); 374 + trace_ds(&h3270," error: illegal partition\n");
378 return PDS_BAD_CMD; 375 return PDS_BAD_CMD;
379 } 376 }
380 - trace_ds("\n"); 377 + trace_ds(&h3270,"\n");
381 ctlr_read_modified(AID_QREPLY, False); 378 ctlr_read_modified(AID_QREPLY, False);
382 break; 379 break;
383 default: 380 default:
384 - trace_ds(" unknown type 0x%02x\n", buf[4]); 381 + trace_ds(&h3270," unknown type 0x%02x\n", buf[4]);
385 return PDS_BAD_CMD; 382 return PDS_BAD_CMD;
386 } 383 }
387 return PDS_OKAY_OUTPUT; 384 return PDS_OKAY_OUTPUT;
@@ -391,21 +388,21 @@ static enum pds @@ -391,21 +388,21 @@ static enum pds
391 sf_erase_reset(unsigned char buf[], int buflen) 388 sf_erase_reset(unsigned char buf[], int buflen)
392 { 389 {
393 if (buflen != 4) { 390 if (buflen != 4) {
394 - trace_ds(" error: wrong field length %d\n", buflen); 391 + trace_ds(&h3270," error: wrong field length %d\n", buflen);
395 return PDS_BAD_CMD; 392 return PDS_BAD_CMD;
396 } 393 }
397 394
398 switch (buf[3]) { 395 switch (buf[3]) {
399 case SF_ER_DEFAULT: 396 case SF_ER_DEFAULT:
400 - trace_ds(" Default\n"); 397 + trace_ds(&h3270," Default\n");
401 ctlr_erase(NULL,False); 398 ctlr_erase(NULL,False);
402 break; 399 break;
403 case SF_ER_ALT: 400 case SF_ER_ALT:
404 - trace_ds(" Alternate\n"); 401 + trace_ds(&h3270," Alternate\n");
405 ctlr_erase(NULL,True); 402 ctlr_erase(NULL,True);
406 break; 403 break;
407 default: 404 default:
408 - trace_ds(" unknown type 0x%02x\n", buf[3]); 405 + trace_ds(&h3270," unknown type 0x%02x\n", buf[3]);
409 return PDS_BAD_CMD; 406 return PDS_BAD_CMD;
410 } 407 }
411 return PDS_OKAY_NO_OUTPUT; 408 return PDS_OKAY_NO_OUTPUT;
@@ -419,29 +416,29 @@ sf_set_reply_mode(unsigned char buf[], int buflen) @@ -419,29 +416,29 @@ sf_set_reply_mode(unsigned char buf[], int buflen)
419 const char *comma = "("; 416 const char *comma = "(";
420 417
421 if (buflen < 5) { 418 if (buflen < 5) {
422 - trace_ds(" error: wrong field length %d\n", buflen); 419 + trace_ds(&h3270," error: wrong field length %d\n", buflen);
423 return PDS_BAD_CMD; 420 return PDS_BAD_CMD;
424 } 421 }
425 422
426 partition = buf[3]; 423 partition = buf[3];
427 - trace_ds("(0x%02x)", partition); 424 + trace_ds(&h3270,"(0x%02x)", partition);
428 if (partition != 0x00) { 425 if (partition != 0x00) {
429 - trace_ds(" error: illegal partition\n"); 426 + trace_ds(&h3270," error: illegal partition\n");
430 return PDS_BAD_CMD; 427 return PDS_BAD_CMD;
431 } 428 }
432 429
433 switch (buf[4]) { 430 switch (buf[4]) {
434 case SF_SRM_FIELD: 431 case SF_SRM_FIELD:
435 - trace_ds(" Field\n"); 432 + trace_ds(&h3270," Field\n");
436 break; 433 break;
437 case SF_SRM_XFIELD: 434 case SF_SRM_XFIELD:
438 - trace_ds(" ExtendedField\n"); 435 + trace_ds(&h3270," ExtendedField\n");
439 break; 436 break;
440 case SF_SRM_CHAR: 437 case SF_SRM_CHAR:
441 - trace_ds(" Character"); 438 + trace_ds(&h3270," Character");
442 break; 439 break;
443 default: 440 default:
444 - trace_ds(" unknown mode 0x%02x\n", buf[4]); 441 + trace_ds(&h3270," unknown mode 0x%02x\n", buf[4]);
445 return PDS_BAD_CMD; 442 return PDS_BAD_CMD;
446 } 443 }
447 h3270.reply_mode = buf[4]; 444 h3270.reply_mode = buf[4];
@@ -449,10 +446,10 @@ sf_set_reply_mode(unsigned char buf[], int buflen) @@ -449,10 +446,10 @@ sf_set_reply_mode(unsigned char buf[], int buflen)
449 h3270.crm_nattr = buflen - 5; 446 h3270.crm_nattr = buflen - 5;
450 for (i = 5; i < buflen; i++) { 447 for (i = 5; i < buflen; i++) {
451 h3270.crm_attr[i - 5] = buf[i]; 448 h3270.crm_attr[i - 5] = buf[i];
452 - trace_ds("%s%s", comma, see_efa_only(buf[i])); 449 + trace_ds(&h3270,"%s%s", comma, see_efa_only(buf[i]));
453 comma = ","; 450 comma = ",";
454 } 451 }
455 - trace_ds("%s\n", h3270.crm_nattr ? ")" : ""); 452 + trace_ds(&h3270,"%s\n", h3270.crm_nattr ? ")" : "");
456 } 453 }
457 return PDS_OKAY_NO_OUTPUT; 454 return PDS_OKAY_NO_OUTPUT;
458 } 455 }
@@ -487,13 +484,13 @@ sf_create_partition(unsigned char buf[], int buflen) @@ -487,13 +484,13 @@ sf_create_partition(unsigned char buf[], int buflen)
487 #endif /*]*/ 484 #endif /*]*/
488 485
489 if (buflen > 3) { 486 if (buflen > 3) {
490 - trace_ds("("); 487 + trace_ds(&h3270,"(");
491 488
492 /* Partition. */ 489 /* Partition. */
493 pid = buf[3]; 490 pid = buf[3];
494 - trace_ds("pid=0x%02x", pid); 491 + trace_ds(&h3270,"pid=0x%02x", pid);
495 if (pid != 0x00) { 492 if (pid != 0x00) {
496 - trace_ds(") error: illegal partition\n"); 493 + trace_ds(&h3270,") error: illegal partition\n");
497 return PDS_BAD_CMD; 494 return PDS_BAD_CMD;
498 } 495 }
499 } else 496 } else
@@ -501,15 +498,15 @@ sf_create_partition(unsigned char buf[], int buflen) @@ -501,15 +498,15 @@ sf_create_partition(unsigned char buf[], int buflen)
501 498
502 if (buflen > 4) { 499 if (buflen > 4) {
503 uom = (buf[4] & 0xf0) >> 4; 500 uom = (buf[4] & 0xf0) >> 4;
504 - trace_ds(",uom=B'%s'", bit4[uom]); 501 + trace_ds(&h3270,",uom=B'%s'", bit4[uom]);
505 if (uom != 0x0 && uom != 0x02) { 502 if (uom != 0x0 && uom != 0x02) {
506 - trace_ds(") error: illegal units\n"); 503 + trace_ds(&h3270,") error: illegal units\n");
507 return PDS_BAD_CMD; 504 return PDS_BAD_CMD;
508 } 505 }
509 am = buf[4] & 0x0f; 506 am = buf[4] & 0x0f;
510 - trace_ds(",am=B'%s'", bit4[am]); 507 + trace_ds(&h3270,",am=B'%s'", bit4[am]);
511 if (am > 0x2) { 508 if (am > 0x2) {
512 - trace_ds(") error: illegal a-mode\n"); 509 + trace_ds(&h3270,") error: illegal a-mode\n");
513 return PDS_BAD_CMD; 510 return PDS_BAD_CMD;
514 } 511 }
515 } else { 512 } else {
@@ -519,76 +516,76 @@ sf_create_partition(unsigned char buf[], int buflen) @@ -519,76 +516,76 @@ sf_create_partition(unsigned char buf[], int buflen)
519 516
520 if (buflen > 5) { 517 if (buflen > 5) {
521 flags = buf[5]; 518 flags = buf[5];
522 - trace_ds(",flags=0x%02x", flags); 519 + trace_ds(&h3270,",flags=0x%02x", flags);
523 } else 520 } else
524 flags = 0; 521 flags = 0;
525 522
526 if (buflen > 7) { 523 if (buflen > 7) {
527 GET16(h, &buf[6]); 524 GET16(h, &buf[6]);
528 - trace_ds(",h=%d", h); 525 + trace_ds(&h3270,",h=%d", h);
529 } else 526 } else
530 h = h3270.maxROWS; 527 h = h3270.maxROWS;
531 528
532 if (buflen > 9) { 529 if (buflen > 9) {
533 GET16(w, &buf[8]); 530 GET16(w, &buf[8]);
534 - trace_ds(",w=%d", w); 531 + trace_ds(&h3270,",w=%d", w);
535 } else 532 } else
536 w = h3270.maxCOLS; 533 w = h3270.maxCOLS;
537 534
538 if (buflen > 11) { 535 if (buflen > 11) {
539 GET16(rv, &buf[10]); 536 GET16(rv, &buf[10]);
540 - trace_ds(",rv=%d", rv); 537 + trace_ds(&h3270,",rv=%d", rv);
541 } else 538 } else
542 rv = 0; 539 rv = 0;
543 540
544 if (buflen > 13) { 541 if (buflen > 13) {
545 GET16(cv, &buf[12]); 542 GET16(cv, &buf[12]);
546 - trace_ds(",cv=%d", cv); 543 + trace_ds(&h3270,",cv=%d", cv);
547 } else 544 } else
548 cv = 0; 545 cv = 0;
549 546
550 if (buflen > 15) { 547 if (buflen > 15) {
551 GET16(hv, &buf[14]); 548 GET16(hv, &buf[14]);
552 - trace_ds(",hv=%d", hv); 549 + trace_ds(&h3270,",hv=%d", hv);
553 } else 550 } else
554 hv = (h > h3270.maxROWS)? h3270.maxROWS: h; 551 hv = (h > h3270.maxROWS)? h3270.maxROWS: h;
555 552
556 if (buflen > 17) { 553 if (buflen > 17) {
557 GET16(wv, &buf[16]); 554 GET16(wv, &buf[16]);
558 - trace_ds(",wv=%d", wv); 555 + trace_ds(&h3270,",wv=%d", wv);
559 } else 556 } else
560 wv = (w > h3270.maxCOLS)? h3270.maxCOLS: w; 557 wv = (w > h3270.maxCOLS)? h3270.maxCOLS: w;
561 558
562 if (buflen > 19) { 559 if (buflen > 19) {
563 GET16(rw, &buf[18]); 560 GET16(rw, &buf[18]);
564 - trace_ds(",rw=%d", rw); 561 + trace_ds(&h3270,",rw=%d", rw);
565 } else 562 } else
566 rw = 0; 563 rw = 0;
567 564
568 if (buflen > 21) { 565 if (buflen > 21) {
569 GET16(cw, &buf[20]); 566 GET16(cw, &buf[20]);
570 - trace_ds(",cw=%d", cw); 567 + trace_ds(&h3270,",cw=%d", cw);
571 } else 568 } else
572 cw = 0; 569 cw = 0;
573 570
574 if (buflen > 23) { 571 if (buflen > 23) {
575 GET16(rs, &buf[22]); 572 GET16(rs, &buf[22]);
576 - trace_ds(",rs=%d", rs); 573 + trace_ds(&h3270,",rs=%d", rs);
577 } else 574 } else
578 rs = (h > hv)? 1: 0; 575 rs = (h > hv)? 1: 0;
579 576
580 if (buflen > 27) { 577 if (buflen > 27) {
581 GET16(pw, &buf[26]); 578 GET16(pw, &buf[26]);
582 - trace_ds(",pw=%d", pw); 579 + trace_ds(&h3270,",pw=%d", pw);
583 } else 580 } else
584 pw = *char_width; 581 pw = *char_width;
585 582
586 if (buflen > 29) { 583 if (buflen > 29) {
587 GET16(ph, &buf[28]); 584 GET16(ph, &buf[28]);
588 - trace_ds(",ph=%d", ph); 585 + trace_ds(&h3270,",ph=%d", ph);
589 } else 586 } else
590 ph = *char_height; 587 ph = *char_height;
591 - trace_ds(")\n"); 588 + trace_ds(&h3270,")\n");
592 589
593 cursor_move(&h3270,0); 590 cursor_move(&h3270,0);
594 h3270.buffer_addr = 0; 591 h3270.buffer_addr = 0;
@@ -602,49 +599,49 @@ sf_outbound_ds(unsigned char buf[], int buflen) @@ -602,49 +599,49 @@ sf_outbound_ds(unsigned char buf[], int buflen)
602 enum pds rv; 599 enum pds rv;
603 600
604 if (buflen < 5) { 601 if (buflen < 5) {
605 - trace_ds(" error: field length %d too short\n", buflen); 602 + trace_ds(&h3270," error: field length %d too short\n", buflen);
606 return PDS_BAD_CMD; 603 return PDS_BAD_CMD;
607 } 604 }
608 605
609 - trace_ds("(0x%02x)", buf[3]); 606 + trace_ds(&h3270,"(0x%02x)", buf[3]);
610 if (buf[3] != 0x00) { 607 if (buf[3] != 0x00) {
611 - trace_ds(" error: illegal partition 0x%0x\n", buf[3]); 608 + trace_ds(&h3270," error: illegal partition 0x%0x\n", buf[3]);
612 return PDS_BAD_CMD; 609 return PDS_BAD_CMD;
613 } 610 }
614 611
615 switch (buf[4]) { 612 switch (buf[4]) {
616 case SNA_CMD_W: 613 case SNA_CMD_W:
617 - trace_ds(" Write"); 614 + trace_ds(&h3270," Write");
618 if (buflen > 5) { 615 if (buflen > 5) {
619 if ((rv = ctlr_write(&buf[4], buflen-4, False)) < 0) 616 if ((rv = ctlr_write(&buf[4], buflen-4, False)) < 0)
620 return rv; 617 return rv;
621 } else 618 } else
622 - trace_ds("\n"); 619 + trace_ds(&h3270,"\n");
623 break; 620 break;
624 case SNA_CMD_EW: 621 case SNA_CMD_EW:
625 - trace_ds(" EraseWrite"); 622 + trace_ds(&h3270," EraseWrite");
626 ctlr_erase(&h3270,h3270.screen_alt); 623 ctlr_erase(&h3270,h3270.screen_alt);
627 if (buflen > 5) { 624 if (buflen > 5) {
628 if ((rv = ctlr_write(&buf[4], buflen-4, True)) < 0) 625 if ((rv = ctlr_write(&buf[4], buflen-4, True)) < 0)
629 return rv; 626 return rv;
630 } else 627 } else
631 - trace_ds("\n"); 628 + trace_ds(&h3270,"\n");
632 break; 629 break;
633 case SNA_CMD_EWA: 630 case SNA_CMD_EWA:
634 - trace_ds(" EraseWriteAlternate"); 631 + trace_ds(&h3270," EraseWriteAlternate");
635 ctlr_erase(&h3270,h3270.screen_alt); 632 ctlr_erase(&h3270,h3270.screen_alt);
636 if (buflen > 5) { 633 if (buflen > 5) {
637 if ((rv = ctlr_write(&buf[4], buflen-4, True)) < 0) 634 if ((rv = ctlr_write(&buf[4], buflen-4, True)) < 0)
638 return rv; 635 return rv;
639 } else 636 } else
640 - trace_ds("\n"); 637 + trace_ds(&h3270,"\n");
641 break; 638 break;
642 case SNA_CMD_EAU: 639 case SNA_CMD_EAU:
643 - trace_ds(" EraseAllUnprotected\n"); 640 + trace_ds(&h3270," EraseAllUnprotected\n");
644 ctlr_erase_all_unprotected(&h3270); 641 ctlr_erase_all_unprotected(&h3270);
645 break; 642 break;
646 default: 643 default:
647 - trace_ds(" unknown type 0x%02x\n", buf[4]); 644 + trace_ds(&h3270," unknown type 0x%02x\n", buf[4]);
648 return PDS_BAD_CMD; 645 return PDS_BAD_CMD;
649 } 646 }
650 return PDS_OKAY_NO_OUTPUT; 647 return PDS_OKAY_NO_OUTPUT;
@@ -676,7 +673,7 @@ do_query_reply(unsigned char code) @@ -676,7 +673,7 @@ do_query_reply(unsigned char code)
676 return; 673 return;
677 674
678 if (qr_in_progress) { 675 if (qr_in_progress) {
679 - trace_ds("> StructuredField\n"); 676 + trace_ds(&h3270,"> StructuredField\n");
680 qr_in_progress = False; 677 qr_in_progress = False;
681 } 678 }
682 679
@@ -713,7 +710,7 @@ do_query_reply(unsigned char code) @@ -713,7 +710,7 @@ do_query_reply(unsigned char code)
713 static void 710 static void
714 do_qr_null(void) 711 do_qr_null(void)
715 { 712 {
716 - trace_ds("> QueryReply(Null)\n"); 713 + trace_ds(&h3270,"> QueryReply(Null)\n");
717 } 714 }
718 715
719 static void 716 static void
@@ -722,20 +719,20 @@ do_qr_summary(void) @@ -722,20 +719,20 @@ do_qr_summary(void)
722 int i; 719 int i;
723 const char *comma = ""; 720 const char *comma = "";
724 721
725 - trace_ds("> QueryReply(Summary("); 722 + trace_ds(&h3270,"> QueryReply(Summary(");
726 space3270out(&h3270,NSR); 723 space3270out(&h3270,NSR);
727 for (i = 0; i < NSR; i++) { 724 for (i = 0; i < NSR; i++) {
728 #if defined(X3270_DBCS) /*[*/ 725 #if defined(X3270_DBCS) /*[*/
729 if (dbcs || replies[i].code != QR_DBCS_ASIA) { 726 if (dbcs || replies[i].code != QR_DBCS_ASIA) {
730 #endif /*]*/ 727 #endif /*]*/
731 - trace_ds("%s%s", comma, see_qcode(replies[i].code)); 728 + trace_ds(&h3270,"%s%s", comma, see_qcode(replies[i].code));
732 comma = ","; 729 comma = ",";
733 *h3270.obptr++ = replies[i].code; 730 *h3270.obptr++ = replies[i].code;
734 #if defined(X3270_DBCS) /*[*/ 731 #if defined(X3270_DBCS) /*[*/
735 } 732 }
736 #endif /*]*/ 733 #endif /*]*/
737 } 734 }
738 - trace_ds("))\n"); 735 + trace_ds(&h3270,"))\n");
739 } 736 }
740 737
741 static void 738 static void
@@ -743,7 +740,7 @@ do_qr_usable_area(void) @@ -743,7 +740,7 @@ do_qr_usable_area(void)
743 { 740 {
744 unsigned short num, denom; 741 unsigned short num, denom;
745 742
746 - trace_ds("> QueryReply(UsableArea)\n"); 743 + trace_ds(&h3270,"> QueryReply(UsableArea)\n");
747 space3270out(&h3270,19); 744 space3270out(&h3270,19);
748 *h3270.obptr++ = 0x01; /* 12/14-bit addressing */ 745 *h3270.obptr++ = 0x01; /* 12/14-bit addressing */
749 *h3270.obptr++ = 0x00; /* no special character features */ 746 *h3270.obptr++ = 0x00; /* no special character features */
@@ -777,7 +774,7 @@ do_qr_color(void) @@ -777,7 +774,7 @@ do_qr_color(void)
777 int i; 774 int i;
778 int color_max; 775 int color_max;
779 776
780 - trace_ds("> QueryReply(Color)\n"); 777 + trace_ds(&h3270,"> QueryReply(Color)\n");
781 778
782 color_max = h3270.color8 ? 8: 16; /* report on 8 or 16 colors */ 779 color_max = h3270.color8 ? 8: 16; /* report on 8 or 16 colors */
783 780
@@ -811,7 +808,7 @@ do_qr_color(void) @@ -811,7 +808,7 @@ do_qr_color(void)
811 static void 808 static void
812 do_qr_highlighting(void) 809 do_qr_highlighting(void)
813 { 810 {
814 - trace_ds("> QueryReply(Highlighting)\n"); 811 + trace_ds(&h3270,"> QueryReply(Highlighting)\n");
815 space3270out(&h3270,11); 812 space3270out(&h3270,11);
816 *h3270.obptr++ = 5; /* report on 5 pairs */ 813 *h3270.obptr++ = 5; /* report on 5 pairs */
817 *h3270.obptr++ = XAH_DEFAULT; /* default: */ 814 *h3270.obptr++ = XAH_DEFAULT; /* default: */
@@ -829,7 +826,7 @@ do_qr_highlighting(void) @@ -829,7 +826,7 @@ do_qr_highlighting(void)
829 static void 826 static void
830 do_qr_reply_modes(void) 827 do_qr_reply_modes(void)
831 { 828 {
832 - trace_ds("> QueryReply(ReplyModes)\n"); 829 + trace_ds(&h3270,"> QueryReply(ReplyModes)\n");
833 space3270out(&h3270,3); 830 space3270out(&h3270,3);
834 *h3270.obptr++ = SF_SRM_FIELD; 831 *h3270.obptr++ = SF_SRM_FIELD;
835 *h3270.obptr++ = SF_SRM_XFIELD; 832 *h3270.obptr++ = SF_SRM_XFIELD;
@@ -841,7 +838,7 @@ static void @@ -841,7 +838,7 @@ static void
841 do_qr_dbcs_asia(void) 838 do_qr_dbcs_asia(void)
842 { 839 {
843 /* XXX: Should we support this, even when not in DBCS mode? */ 840 /* XXX: Should we support this, even when not in DBCS mode? */
844 - trace_ds("> QueryReply(DbcsAsia)\n"); 841 + trace_ds(&h3270,"> QueryReply(DbcsAsia)\n");
845 space3270out(7); 842 space3270out(7);
846 *obptr++ = 0x00; /* flags (none) */ 843 *obptr++ = 0x00; /* flags (none) */
847 *obptr++ = 0x03; /* field length 3 */ 844 *obptr++ = 0x03; /* field length 3 */
@@ -856,7 +853,7 @@ do_qr_dbcs_asia(void) @@ -856,7 +853,7 @@ do_qr_dbcs_asia(void)
856 static void 853 static void
857 do_qr_alpha_part(void) 854 do_qr_alpha_part(void)
858 { 855 {
859 - trace_ds("> QueryReply(AlphanumericPartitions)\n"); 856 + trace_ds(&h3270,"> QueryReply(AlphanumericPartitions)\n");
860 space3270out(&h3270,4); 857 space3270out(&h3270,4);
861 *h3270.obptr++ = 0; /* 1 partition */ 858 *h3270.obptr++ = 0; /* 1 partition */
862 SET16(h3270.obptr, h3270.maxROWS * h3270.maxCOLS); /* buffer space */ 859 SET16(h3270.obptr, h3270.maxROWS * h3270.maxCOLS); /* buffer space */
@@ -866,7 +863,7 @@ do_qr_alpha_part(void) @@ -866,7 +863,7 @@ do_qr_alpha_part(void)
866 static void 863 static void
867 do_qr_charsets(void) 864 do_qr_charsets(void)
868 { 865 {
869 - trace_ds("> QueryReply(CharacterSets)\n"); 866 + trace_ds(&h3270,"> QueryReply(CharacterSets)\n");
870 space3270out(&h3270,64); 867 space3270out(&h3270,64);
871 #if defined(X3270_DBCS) /*[*/ 868 #if defined(X3270_DBCS) /*[*/
872 if (dbcs) 869 if (dbcs)
@@ -952,7 +949,7 @@ do_qr_ddm(void) @@ -952,7 +949,7 @@ do_qr_ddm(void)
952 { 949 {
953 set_dft_buffersize(); 950 set_dft_buffersize();
954 951
955 - trace_ds("> QueryReply(DistributedDataManagement)\n"); 952 + trace_ds(&h3270,"> QueryReply(DistributedDataManagement)\n");
956 space3270out(&h3270,8); 953 space3270out(&h3270,8);
957 SET16(h3270.obptr,0); /* set reserved field to 0 */ 954 SET16(h3270.obptr,0); /* set reserved field to 0 */
958 SET16(h3270.obptr, dft_buffersize); /* set inbound length limit INLIM */ 955 SET16(h3270.obptr, dft_buffersize); /* set inbound length limit INLIM */
@@ -964,7 +961,7 @@ do_qr_ddm(void) @@ -964,7 +961,7 @@ do_qr_ddm(void)
964 static void 961 static void
965 do_qr_imp_part(void) 962 do_qr_imp_part(void)
966 { 963 {
967 - trace_ds("> QueryReply(ImplicitPartition)\n"); 964 + trace_ds(&h3270,"> QueryReply(ImplicitPartition)\n");
968 space3270out(&h3270,13); 965 space3270out(&h3270,13);
969 *h3270.obptr++ = 0x0; /* reserved */ 966 *h3270.obptr++ = 0x0; /* reserved */
970 *h3270.obptr++ = 0x0; 967 *h3270.obptr++ = 0x0;
src/lib3270/telnet.c
@@ -923,7 +923,7 @@ LIB3270_EXPORT void lib3270_setup_session(H3270 *session) @@ -923,7 +923,7 @@ LIB3270_EXPORT void lib3270_setup_session(H3270 *session)
923 unsigned char *buffer = (unsigned char *) xs_buffer("%s %d\r\n", session->hostname, session->current_port); 923 unsigned char *buffer = (unsigned char *) xs_buffer("%s %d\r\n", session->hostname, session->current_port);
924 session->write(session, buffer, strlen((char *) buffer)); 924 session->write(session, buffer, strlen((char *) buffer));
925 lib3270_free(buffer); 925 lib3270_free(buffer);
926 - trace_ds("SENT HOSTNAME %s:%d\n", session->hostname, session->current_port); 926 + trace_ds(&h3270,"SENT HOSTNAME %s:%d\n", session->hostname, session->current_port);
927 } 927 }
928 } 928 }
929 929
src/lib3270/trace_ds.c
@@ -173,12 +173,12 @@ trace_ds_s(char *s, Boolean can_break) @@ -173,12 +173,12 @@ trace_ds_s(char *s, Boolean can_break)
173 } 173 }
174 } 174 }
175 175
176 -void trace_ds(const char *fmt, ...) 176 +void trace_ds(H3270 *hSession, const char *fmt, ...)
177 { 177 {
178 char * text; 178 char * text;
179 va_list args; 179 va_list args;
180 180
181 - if (!lib3270_get_toggle(&h3270,DS_TRACE)) 181 + if (!lib3270_get_toggle(hSession,DS_TRACE))
182 return; 182 return;
183 183
184 va_start(args, fmt); 184 va_start(args, fmt);
@@ -190,8 +190,7 @@ void trace_ds(const char *fmt, ...) @@ -190,8 +190,7 @@ void trace_ds(const char *fmt, ...)
190 lib3270_free(text); 190 lib3270_free(text);
191 } 191 }
192 192
193 -void  
194 -trace_ds_nb(const char *fmt, ...) 193 +void trace_ds_nb(const char *fmt, ...)
195 { 194 {
196 char tdsbuf[4096]; 195 char tdsbuf[4096];
197 va_list args; 196 va_list args;
@@ -207,20 +206,20 @@ trace_ds_nb(const char *fmt, ...) @@ -207,20 +206,20 @@ trace_ds_nb(const char *fmt, ...)
207 va_end(args); 206 va_end(args);
208 } 207 }
209 208
210 -/* Conditional event trace. */  
211 -void  
212 -trace_event(const char *fmt, ...) 209 +/* Conditional event trace. */ /*
  210 +void trace_event(const char *fmt, ...)
213 { 211 {
214 va_list args; 212 va_list args;
215 213
216 if (!lib3270_get_toggle(&h3270,EVENT_TRACE)) 214 if (!lib3270_get_toggle(&h3270,EVENT_TRACE))
217 return; 215 return;
218 216
219 - /* print out message */ 217 + // print out message
220 va_start(args, fmt); 218 va_start(args, fmt);
221 vwtrace(&h3270,fmt, args); 219 vwtrace(&h3270,fmt, args);
222 va_end(args); 220 va_end(args);
223 } 221 }
  222 +*/
224 223
225 /* Conditional data stream trace, without line splitting. */ 224 /* Conditional data stream trace, without line splitting. */
226 void trace_dsn(const char *fmt, ...) 225 void trace_dsn(const char *fmt, ...)
src/lib3270/trace_dsc.h
@@ -44,13 +44,15 @@ @@ -44,13 +44,15 @@
44 44
45 void trace_ansi_disc(void); 45 void trace_ansi_disc(void);
46 void trace_char(char c); 46 void trace_char(char c);
47 - void trace_ds(const char *fmt, ...) printflike(1, 2); 47 + void trace_ds(H3270 *hSession, const char *fmt, ...) printflike(2, 3);
48 void trace_ds_nb(const char *fmt, ...) printflike(1, 2); 48 void trace_ds_nb(const char *fmt, ...) printflike(1, 2);
49 void trace_dsn(const char *fmt, ...) printflike(1, 2); 49 void trace_dsn(const char *fmt, ...) printflike(1, 2);
50 - void trace_event(const char *fmt, ...) printflike(1, 2); 50 +// void trace_event(const char *fmt, ...) printflike(1, 2);
51 void trace_screen(H3270 *session); 51 void trace_screen(H3270 *session);
52 // void trace_rollover_check(void); 52 // void trace_rollover_check(void);
53 53
  54 + #define trace_event(...) lib3270_trace_event(&h3270,__VA_ARGS__)
  55 +
54 #elif defined(__GNUC__) 56 #elif defined(__GNUC__)
55 57
56 #define trace_ds(format, args...) 58 #define trace_ds(format, args...)