Commit 6902e2c2003e867453736691b97b4f4ba03c87e8

Authored by perry.werneck@gmail.com
1 parent dd5922c8

Ajustando traces

Showing 3 changed files with 23 additions and 30 deletions   Show diff stats
ctlr.c
... ... @@ -690,7 +690,7 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
690 690 if (short_read)
691 691 goto rm_done;
692 692 ENCODE_BADDR(obptr, h3270.cursor_addr);
693   - trace_ds("%s",rcba(h3270.cursor_addr));
  693 + trace_ds("%s",rcba(&h3270,h3270.cursor_addr));
694 694 } else {
695 695 space3270out(1); /* just in case */
696 696 }
... ... @@ -714,7 +714,7 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
714 714 space3270out(3);
715 715 *obptr++ = ORDER_SBA;
716 716 ENCODE_BADDR(obptr, baddr);
717   - trace_ds(" SetBufferAddress%s (Cols: %d Rows: %d)", rcba(baddr), h3270.cols, h3270.rows);
  717 + trace_ds(" SetBufferAddress%s (Cols: %d Rows: %d)", rcba(&h3270,baddr), h3270.cols, h3270.rows);
718 718 while (!h3270.ea_buf[baddr].fa) {
719 719  
720 720 if (send_data &&
... ... @@ -833,7 +833,7 @@ ctlr_read_buffer(unsigned char aid_byte)
833 833 space3270out(3);
834 834 *obptr++ = aid_byte;
835 835 ENCODE_BADDR(obptr, h3270.cursor_addr);
836   - trace_ds("%s%s", see_aid(aid_byte), rcba(h3270.cursor_addr));
  836 + trace_ds("%s%s", see_aid(aid_byte), rcba(&h3270,h3270.cursor_addr));
837 837  
838 838 baddr = 0;
839 839 do {
... ... @@ -854,7 +854,7 @@ ctlr_read_buffer(unsigned char aid_byte)
854 854 trace_ds("'");
855 855 trace_ds(" StartField%s%s%s",
856 856 (reply_mode == SF_SRM_FIELD) ? "" : "Extended",
857   - rcba(baddr), see_attr(fa));
  857 + rcba(&h3270,baddr), see_attr(fa));
858 858 if (reply_mode != SF_SRM_FIELD) {
859 859 if (h3270.ea_buf[baddr].fg) {
860 860 space3270out(2);
... ... @@ -1229,7 +1229,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1229 1229 case ORDER_SF: /* start field */
1230 1230 END_TEXT("StartField");
1231 1231 if (previous != SBA)
1232   - trace_ds("%s",rcba(h3270.buffer_addr));
  1232 + trace_ds("%s",rcba(&h3270,h3270.buffer_addr));
1233 1233 previous = ORDER;
1234 1234 cp++; /* skip field attribute */
1235 1235 START_FIELD(*cp);
... ... @@ -1244,7 +1244,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1244 1244 h3270.buffer_addr = DECODE_BADDR(*(cp-1), *cp);
1245 1245 END_TEXT("SetBufferAddress");
1246 1246 previous = SBA;
1247   - trace_ds("%s",rcba(h3270.buffer_addr));
  1247 + trace_ds("%s",rcba(&h3270,h3270.buffer_addr));
1248 1248 if (h3270.buffer_addr >= h3270.cols * h3270.rows)
1249 1249 {
1250 1250 ABORT_WRITE("invalid SBA address");
... ... @@ -1256,7 +1256,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1256 1256 case ORDER_IC: /* insert cursor */
1257 1257 END_TEXT("InsertCursor");
1258 1258 if (previous != SBA)
1259   - trace_ds("%s",rcba(h3270.buffer_addr));
  1259 + trace_ds("%s",rcba(&h3270,h3270.buffer_addr));
1260 1260 previous = ORDER;
1261 1261 cursor_move(&h3270,h3270.buffer_addr);
1262 1262 last_cmd = True;
... ... @@ -1314,7 +1314,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1314 1314 END_TEXT("RepeatToAddress");
1315 1315 cp += 2; /* skip buffer address */
1316 1316 baddr = DECODE_BADDR(*(cp-1), *cp);
1317   - trace_ds("%s",rcba(baddr));
  1317 + trace_ds("%s",rcba(&h3270,baddr));
1318 1318 cp++; /* skip char to repeat */
1319 1319 add_dbcs = False;
1320 1320 ra_ge = False;
... ... @@ -1418,7 +1418,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1418 1418 baddr = DECODE_BADDR(*(cp-1), *cp);
1419 1419 END_TEXT("EraseUnprotectedAll");
1420 1420 if (previous != SBA)
1421   - trace_ds("%s",rcba(baddr));
  1421 + trace_ds("%s",rcba(&h3270,baddr));
1422 1422 previous = ORDER;
1423 1423 if (baddr >= h3270.cols * h3270.rows) {
1424 1424 ABORT_WRITE("invalid EUA address");
... ... @@ -1467,7 +1467,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1467 1467 case ORDER_MF: /* modify field */
1468 1468 END_TEXT("ModifyField");
1469 1469 if (previous != SBA)
1470   - trace_ds("%s",rcba(h3270.buffer_addr));
  1470 + trace_ds("%s",rcba(&h3270,h3270.buffer_addr));
1471 1471 previous = ORDER;
1472 1472 cp++;
1473 1473 na = *cp;
... ... @@ -1538,7 +1538,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1538 1538 case ORDER_SFE: /* start field extended */
1539 1539 END_TEXT("StartFieldExtended");
1540 1540 if (previous != SBA)
1541   - trace_ds("%s",rcba(h3270.buffer_addr));
  1541 + trace_ds("%s",rcba(&h3270,h3270.buffer_addr));
1542 1542 previous = ORDER;
1543 1543 cp++; /* skip order */
1544 1544 na = *cp;
... ... @@ -1938,7 +1938,7 @@ ctlr_write_sscp_lu(unsigned char buf[], int buflen)
1938 1938 /* Some hosts forget they're talking SSCP-LU. */
1939 1939 cp++;
1940 1940 i++;
1941   - trace_ds(" StartField%s %s [translated to space]\n",rcba(h3270.buffer_addr), see_attr(*cp));
  1941 + trace_ds(" StartField%s %s [translated to space]\n",rcba(&h3270,h3270.buffer_addr), see_attr(*cp));
1942 1942 ctlr_add(h3270.buffer_addr, EBC_space, default_cs);
1943 1943 ctlr_add_fg(h3270.buffer_addr, default_fg);
1944 1944 ctlr_add_bg(h3270.buffer_addr, default_bg);
... ... @@ -1948,11 +1948,11 @@ ctlr_write_sscp_lu(unsigned char buf[], int buflen)
1948 1948 break;
1949 1949 case ORDER_IC:
1950 1950 trace_ds(" InsertCursor%s [ignored]\n",
1951   - rcba(h3270.buffer_addr));
  1951 + rcba(&h3270,h3270.buffer_addr));
1952 1952 break;
1953 1953 case ORDER_SBA:
1954 1954 // baddr = DECODE_BADDR(*(cp+1), *(cp+2));
1955   - trace_ds(" SetBufferAddress%s [ignored]\n", rcba(DECODE_BADDR(*(cp+1), *(cp+2))));
  1955 + trace_ds(" SetBufferAddress%s [ignored]\n", rcba(&h3270,DECODE_BADDR(*(cp+1), *(cp+2))));
1956 1956 cp += 2;
1957 1957 i += 2;
1958 1958 break;
... ...
trace_ds.c
... ... @@ -86,7 +86,7 @@
86 86 // #include <lib3270/api.h>
87 87  
88 88 /* Statics */
89   -static int dscnt = 0;
  89 +// static int dscnt = 0;
90 90  
91 91 /*
92 92 #if defined (LIB3270)
... ... @@ -123,23 +123,22 @@ LIB3270_EXPORT void lib3270_set_trace_handler( void (*handler)(H3270 *session, c
123 123 }
124 124  
125 125 /* display a (row,col) */
126   -const char *
127   -rcba(int baddr)
  126 +const char * rcba(H3270 *hSession, int baddr)
128 127 {
129 128 static char buf[16];
130   -
131   - (void) sprintf(buf, "(%d,%d)", baddr/h3270.cols + 1, baddr%h3270.cols + 1);
  129 + (void) sprintf(buf, "(%d,%d)", baddr/hSession->cols + 1, baddr%hSession->cols + 1);
132 130 return buf;
133 131 }
134 132  
135 133 /* Data Stream trace print, handles line wraps */
136 134  
137   -static char *tdsbuf = CN;
138   -#define TDS_LEN 75
  135 +// static char *tdsbuf = CN;
  136 +// #define TDS_LEN 75
139 137  
140 138 static void
141 139 trace_ds_s(char *s, Boolean can_break)
142 140 {
  141 + static int dscnt = 0;
143 142 int len = strlen(s);
144 143 Boolean nl = False;
145 144  
... ... @@ -175,6 +174,7 @@ trace_ds_s(char *s, Boolean can_break)
175 174 void
176 175 trace_ds(const char *fmt, ...)
177 176 {
  177 + char tdsbuf[4096];
178 178 va_list args;
179 179  
180 180 if (!toggled(DS_TRACE))
... ... @@ -182,10 +182,6 @@ trace_ds(const char *fmt, ...)
182 182  
183 183 va_start(args, fmt);
184 184  
185   - /* allocate buffer */
186   - if (tdsbuf == CN)
187   - tdsbuf = Malloc(4096);
188   -
189 185 /* print out remainder of message */
190 186 (void) vsprintf(tdsbuf, fmt, args);
191 187 trace_ds_s(tdsbuf, True);
... ... @@ -195,6 +191,7 @@ trace_ds(const char *fmt, ...)
195 191 void
196 192 trace_ds_nb(const char *fmt, ...)
197 193 {
  194 + char tdsbuf[4096];
198 195 va_list args;
199 196  
200 197 if (!toggled(DS_TRACE))
... ... @@ -202,10 +199,6 @@ trace_ds_nb(const char *fmt, ...)
202 199  
203 200 va_start(args, fmt);
204 201  
205   - /* allocate buffer */
206   - if (tdsbuf == CN)
207   - tdsbuf = Malloc(4096);
208   -
209 202 /* print out remainder of message */
210 203 (void) vsprintf(tdsbuf, fmt, args);
211 204 trace_ds_s(tdsbuf, False);
... ...
trace_dsc.h
... ... @@ -36,7 +36,7 @@
36 36  
37 37 LIB3270_INTERNAL Boolean trace_skipping;
38 38  
39   - const char *rcba(int baddr);
  39 + const char *rcba(H3270 *session, int baddr);
40 40  
41 41 // void toggle_dsTrace(H3270 *h, struct toggle *t, LIB3270_TOGGLE_TYPE tt);
42 42 // void toggle_eventTrace(H3270 *h, struct toggle *t, LIB3270_TOGGLE_TYPE tt);
... ...