Commit 7c9366e02cde91e44863bfb0f5c6894a13464012

Authored by perry.werneck@gmail.com
1 parent 68350b48
Exists in master

Mais chamadas de toggle receberam a estrutura de sessão como argumento

latest/src/gtk2/screen.c
@@ -78,7 +78,7 @@ @@ -78,7 +78,7 @@
78 static void warning(const char *fmt, va_list arg); 78 static void warning(const char *fmt, va_list arg);
79 static void syserror(const char *title, const char *message, const char *system); 79 static void syserror(const char *title, const char *message, const char *system);
80 static int init(void); 80 static int init(void);
81 - static void update_toggle(int ix, int value, int reason, const char *name); 81 + static void update_toggle(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name);
82 static void redraw(void); 82 static void redraw(void);
83 static gchar * convert_monocase(int c, gsize *sz); 83 static gchar * convert_monocase(int c, gsize *sz);
84 static gchar * convert_regular(int c, gsize *sz); 84 static gchar * convert_regular(int c, gsize *sz);
@@ -126,7 +126,7 @@ @@ -126,7 +126,7 @@
126 NULL, // void (*set_viewsize)(unsigned short rows, unsigned short cols); 126 NULL, // void (*set_viewsize)(unsigned short rows, unsigned short cols);
127 #endif 127 #endif
128 128
129 - update_toggle, // void (*toggle_changed)(int ix, int value, int reason, const char *name); 129 + update_toggle, // void (*toggle_changed)(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name);
130 oia_set_timer, // void (*show_timer)(long seconds); 130 oia_set_timer, // void (*show_timer)(long seconds);
131 131
132 gui_console_window_new, // HCONSOLE (*console_new)(const char *title, const char *label); 132 gui_console_window_new, // HCONSOLE (*console_new)(const char *title, const char *label);
@@ -734,7 +734,7 @@ @@ -734,7 +734,7 @@
734 return 0; 734 return 0;
735 } 735 }
736 736
737 - void update_toggle(int ix, int value, int reason, const char *name) 737 + void update_toggle(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name)
738 { 738 {
739 update_3270_toggle_action(ix, value); 739 update_3270_toggle_action(ix, value);
740 } 740 }
latest/src/include/lib3270.h
@@ -148,7 +148,7 @@ @@ -148,7 +148,7 @@
148 LIB3270_MESSAGE_DISCONNECTED, /**< Disconnected from host */ 148 LIB3270_MESSAGE_DISCONNECTED, /**< Disconnected from host */
149 LIB3270_MESSAGE_AWAITING_FIRST, 149 LIB3270_MESSAGE_AWAITING_FIRST,
150 LIB3270_MESSAGE_MINUS, 150 LIB3270_MESSAGE_MINUS,
151 - LIB3270_MESSAGE_PROTECTED c 151 + LIB3270_MESSAGE_PROTECTED,
152 LIB3270_MESSAGE_NUMERIC, 152 LIB3270_MESSAGE_NUMERIC,
153 LIB3270_MESSAGE_OVERFLOW, 153 LIB3270_MESSAGE_OVERFLOW,
154 LIB3270_MESSAGE_INHIBIT, 154 LIB3270_MESSAGE_INHIBIT,
@@ -381,6 +381,18 @@ @@ -381,6 +381,18 @@
381 LIB3270_EXPORT unsigned char lib3270_get_toggle(H3270 *h, LIB3270_TOGGLE ix); 381 LIB3270_EXPORT unsigned char lib3270_get_toggle(H3270 *h, LIB3270_TOGGLE ix);
382 382
383 /** 383 /**
  384 + * Set toggle state.
  385 + *
  386 + * @param h Session handle.
  387 + * @param ix Toggle id.
  388 + * @param value New toggle state (non zero for true).
  389 + *
  390 + * @return 0 if the toggle wasn't changed, non zero if it was changed.
  391 + *
  392 + */
  393 + LIB3270_EXPORT int lib3270_set_toggle(H3270 *h, LIB3270_TOGGLE ix, int value);
  394 +
  395 + /**
384 * Check if the active connection is secure. 396 * Check if the active connection is secure.
385 * 397 *
386 * @param h Session handle. 398 * @param h Session handle.
latest/src/include/lib3270/api.h
@@ -269,6 +269,7 @@ @@ -269,6 +269,7 @@
269 void (*changed)(H3270 *session, int bstart, int bend); 269 void (*changed)(H3270 *session, int bstart, int bend);
270 void (*update_cursor)(H3270 *session, unsigned short row, unsigned short col); 270 void (*update_cursor)(H3270 *session, unsigned short row, unsigned short col);
271 void (*update_oia)(H3270 *session, OIA_FLAG id, unsigned char on); 271 void (*update_oia)(H3270 *session, OIA_FLAG id, unsigned char on);
  272 +
272 void (*set_timer)(H3270 *session, unsigned char on); 273 void (*set_timer)(H3270 *session, unsigned char on);
273 void (*update_luname)(H3270 *session, const char *name); 274 void (*update_luname)(H3270 *session, const char *name);
274 void (*update_status)(H3270 *session, LIB3270_STATUS id); 275 void (*update_status)(H3270 *session, LIB3270_STATUS id);
@@ -511,7 +512,7 @@ @@ -511,7 +512,7 @@
511 void (*set_viewsize)(H3270 *session, unsigned short rows, unsigned short cols); 512 void (*set_viewsize)(H3270 *session, unsigned short rows, unsigned short cols);
512 513
513 514
514 - void (*toggle_changed)(int ix, int value, int reason, const char *name); 515 + void (*toggle_changed)(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name);
515 void (*show_timer)(long seconds); 516 void (*show_timer)(long seconds);
516 517
517 // Console/Trace window 518 // Console/Trace window
latest/src/include/lib3270/toggle.h
@@ -69,9 +69,9 @@ @@ -69,9 +69,9 @@
69 69
70 70
71 #define register_3270_toggle_monitor(ix,callback) lib3270_register_tchange(NULL,ix,callback) 71 #define register_3270_toggle_monitor(ix,callback) lib3270_register_tchange(NULL,ix,callback)
72 - // LIB3270_EXPORT void register_3270_toggle_monitor(LIB3270_TOGGLE_ID ix, void (*callback)(int value, LIB3270_TOGGLE_TYPE reason));  
73 72
74 - LIB3270_EXPORT int lib3270_toggle(H3270 *session, LIB3270_TOGGLE_ID ix); 73 + // LIB3270_EXPORT void register_3270_toggle_monitor(LIB3270_TOGGLE_ID ix, void (*callback)(int value, LIB3270_TOGGLE_TYPE reason));
  74 +// LIB3270_EXPORT int lib3270_toggle(H3270 *session, LIB3270_TOGGLE_ID ix);
75 75
76 LIB3270_EXPORT int set_3270_toggle(LIB3270_TOGGLE_ID ix, int value); 76 LIB3270_EXPORT int set_3270_toggle(LIB3270_TOGGLE_ID ix, int value);
77 77
@@ -85,7 +85,7 @@ @@ -85,7 +85,7 @@
85 #define do_toggle(ix) lib3270_toggle(NULL,ix) 85 #define do_toggle(ix) lib3270_toggle(NULL,ix)
86 86
87 #define get_toggle_name(ix) get_3270_toggle_name(ix) 87 #define get_toggle_name(ix) get_3270_toggle_name(ix)
88 - #define set_toggle(ix,value) set_3270_toggle(ix,value) 88 + #define set_toggle(ix,value) lib3270_set_toggle(NULL,ix,value)
89 #define get_toggle_by_name(name) get_3270_toggle_by_name(name) 89 #define get_toggle_by_name(name) get_3270_toggle_by_name(name)
90 90
91 #endif /* TOGGLE3270_H_INCLUDED */ 91 #endif /* TOGGLE3270_H_INCLUDED */
latest/src/lib/appres.h
@@ -26,20 +26,17 @@ @@ -26,20 +26,17 @@
26 26
27 struct toggle { 27 struct toggle {
28 char value; /* toggle value */ 28 char value; /* toggle value */
29 - char changed; /* has the value changed since init */ 29 +// char changed; /* has the value changed since init */
30 // Widget w[2]; /* the menu item widgets */ 30 // Widget w[2]; /* the menu item widgets */
31 // const char *label[2]; /* labels */ 31 // const char *label[2]; /* labels */
32 - void (*upcall)(struct toggle *, LIB3270_TOGGLE_TYPE); /* change value */  
33 -  
34 -#if defined(LIB3270) 32 + void (*upcall)(H3270 *, struct toggle *, LIB3270_TOGGLE_TYPE); /* change value */
35 void (*callback)(H3270 *, int, LIB3270_TOGGLE_TYPE); 33 void (*callback)(H3270 *, int, LIB3270_TOGGLE_TYPE);
36 -#endif  
37 34
38 }; 35 };
39 36
40 #define toggled(ix) (appres.toggle[ix].value) 37 #define toggled(ix) (appres.toggle[ix].value)
41 #define toggle_toggle(t) \ 38 #define toggle_toggle(t) \
42 - { (t)->value = !(t)->value; (t)->changed = True; } 39 + { (t)->value = !(t)->value; }
43 40
44 /* Application resources */ 41 /* Application resources */
45 42
latest/src/lib/ctlr.c
@@ -2820,19 +2820,20 @@ static void ticking_stop(H3270 *session) @@ -2820,19 +2820,20 @@ static void ticking_stop(H3270 *session)
2820 } 2820 }
2821 } 2821 }
2822 2822
2823 -void  
2824 -toggle_showTiming(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt unused) 2823 +/*
  2824 +void toggle_showTiming(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt unused)
2825 { 2825 {
2826 if (!toggled(SHOW_TIMING)) 2826 if (!toggled(SHOW_TIMING))
2827 status_untiming(&h3270); 2827 status_untiming(&h3270);
2828 } 2828 }
  2829 +*/
2829 2830
2830 2831
2831 /* 2832 /*
2832 * No-op toggle. 2833 * No-op toggle.
2833 */ 2834 */
2834 void 2835 void
2835 -toggle_nop(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt unused) 2836 +toggle_nop(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt unused)
2836 { 2837 {
2837 } 2838 }
2838 2839
latest/src/lib/ctlrc.h
@@ -62,7 +62,7 @@ LIB3270_INTERNAL void ctlr_set_rows_cols(H3270 *session, int mn, int ovc, int ov @@ -62,7 +62,7 @@ LIB3270_INTERNAL void ctlr_set_rows_cols(H3270 *session, int mn, int ovc, int ov
62 LIB3270_INTERNAL void ctlr_erase(H3270 *session, int alt); 62 LIB3270_INTERNAL void ctlr_erase(H3270 *session, int alt);
63 63
64 LIB3270_INTERNAL void ticking_start(H3270 *session, Boolean anyway); 64 LIB3270_INTERNAL void ticking_start(H3270 *session, Boolean anyway);
65 -LIB3270_INTERNAL void toggle_nop(struct toggle *t, LIB3270_TOGGLE_TYPE tt); 65 +LIB3270_INTERNAL void toggle_nop(H3270 *session, struct toggle *t, LIB3270_TOGGLE_TYPE tt);
66 LIB3270_INTERNAL void toggle_showTiming(struct toggle *t, LIB3270_TOGGLE_TYPE tt); 66 LIB3270_INTERNAL void toggle_showTiming(struct toggle *t, LIB3270_TOGGLE_TYPE tt);
67 67
68 enum dbcs_state { 68 enum dbcs_state {
latest/src/lib/glue.c
@@ -145,7 +145,25 @@ const char *toggle_names[N_TOGGLES] = @@ -145,7 +145,25 @@ const char *toggle_names[N_TOGGLES] =
145 145
146 void lib3270_session_free(H3270 *h) 146 void lib3270_session_free(H3270 *h)
147 { 147 {
  148 + int f;
  149 +
  150 + // Terminate session
  151 + if(lib3270_connected(h))
  152 + lib3270_disconnect(h);
  153 +
148 shutdown_toggles(h,appres.toggle); 154 shutdown_toggles(h,appres.toggle);
  155 +
  156 + // Release state change callbacks
  157 + for(f=0;f<N_ST;f++)
  158 + {
  159 + while(h->st_callbacks[f])
  160 + {
  161 + struct lib3270_state_callback *next = h->st_callbacks[f]->next;
  162 + Free(h->st_callbacks[f]);
  163 + h->st_callbacks[f] = next;
  164 + }
  165 + }
  166 +
149 } 167 }
150 168
151 void lib3270_session_init(H3270 *hSession, const char *model) 169 void lib3270_session_init(H3270 *hSession, const char *model)
latest/src/lib/screen.c
@@ -793,11 +793,10 @@ void Error(const char *fmt, ...) @@ -793,11 +793,10 @@ void Error(const char *fmt, ...)
793 793
794 } 794 }
795 795
796 -#if defined(LIB3270)  
797 -void notify_toggle_changed(int ix, int value, int reason) 796 +void notify_toggle_changed(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason)
798 { 797 {
799 if(callbacks && callbacks->toggle_changed) 798 if(callbacks && callbacks->toggle_changed)
800 - callbacks->toggle_changed(ix,value,reason,toggle_names[ix]); 799 + callbacks->toggle_changed(session,ix,value,reason,toggle_names[ix]);
801 } 800 }
802 801
803 LIB3270_EXPORT void update_toggle_actions(void) 802 LIB3270_EXPORT void update_toggle_actions(void)
@@ -807,10 +806,9 @@ LIB3270_EXPORT void update_toggle_actions(void) @@ -807,10 +806,9 @@ LIB3270_EXPORT void update_toggle_actions(void)
807 if(callbacks && callbacks->toggle_changed) 806 if(callbacks && callbacks->toggle_changed)
808 { 807 {
809 for(f=0;f< N_TOGGLES;f++) 808 for(f=0;f< N_TOGGLES;f++)
810 - callbacks->toggle_changed(f,appres.toggle[f].value,TT_UPDATE,toggle_names[f]); 809 + callbacks->toggle_changed(&h3270,f,appres.toggle[f].value,TT_UPDATE,toggle_names[f]);
811 } 810 }
812 } 811 }
813 -#endif  
814 812
815 void Warning(const char *fmt, ...) 813 void Warning(const char *fmt, ...)
816 { 814 {
latest/src/lib/screenc.h
@@ -43,7 +43,7 @@ LIB3270_INTERNAL void mcursor_set(H3270 *session,LIB3270_CURSOR m); @@ -43,7 +43,7 @@ LIB3270_INTERNAL void mcursor_set(H3270 *session,LIB3270_CURSOR m);
43 //LIB3270_INTERNAL void mcursor_normal(H3270 *session); 43 //LIB3270_INTERNAL void mcursor_normal(H3270 *session);
44 //LIB3270_INTERNAL void mcursor_waiting(H3270 *session); 44 //LIB3270_INTERNAL void mcursor_waiting(H3270 *session);
45 45
46 -LIB3270_INTERNAL void notify_toggle_changed(int ix, int value, int reason); 46 +LIB3270_INTERNAL void notify_toggle_changed(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason);
47 LIB3270_INTERNAL void set_viewsize(H3270 *session, int rows, int cols); 47 LIB3270_INTERNAL void set_viewsize(H3270 *session, int rows, int cols);
48 48
49 LIB3270_INTERNAL Boolean escaped; 49 LIB3270_INTERNAL Boolean escaped;
latest/src/lib/toggles.c
@@ -96,7 +96,7 @@ LIB3270_EXPORT unsigned char lib3270_get_toggle(H3270 *session, LIB3270_TOGGLE i @@ -96,7 +96,7 @@ LIB3270_EXPORT unsigned char lib3270_get_toggle(H3270 *session, LIB3270_TOGGLE i
96 /* 96 /*
97 * Generic toggle stuff 97 * Generic toggle stuff
98 */ 98 */
99 -static void do_toggle_reason(H3270 *session, LIB3270_TOGGLE_ID ix, LIB3270_TOGGLE_TYPE reason) 99 +static void do_toggle_reason(H3270 *session, LIB3270_TOGGLE ix, LIB3270_TOGGLE_TYPE reason)
100 { 100 {
101 struct toggle *t = &appres.toggle[ix]; 101 struct toggle *t = &appres.toggle[ix];
102 102
@@ -105,32 +105,22 @@ static void do_toggle_reason(H3270 *session, LIB3270_TOGGLE_ID ix, LIB3270_TOGGL @@ -105,32 +105,22 @@ static void do_toggle_reason(H3270 *session, LIB3270_TOGGLE_ID ix, LIB3270_TOGGL
105 * menu label(s). 105 * menu label(s).
106 */ 106 */
107 toggle_toggle(t); 107 toggle_toggle(t);
108 - t->upcall(t, reason);  
109 -  
110 -//#if defined(X3270_MENUS) /*[*/  
111 -// menubar_retoggle(t);  
112 -//#endif /*]*/ 108 + t->upcall(session, t, reason);
113 109
114 t->callback(session,t->value, (int) reason); 110 t->callback(session,t->value, (int) reason);
115 - notify_toggle_changed(ix, t->value, reason); 111 +
  112 + notify_toggle_changed(session, ix, t->value, reason);
116 113
117 } 114 }
118 115
119 -/**  
120 - * Set 3270 toggle state.  
121 - *  
122 - * @param ix Toggle to set.  
123 - * @param value New toggle state (non zero for true).  
124 - *  
125 - * @return 0 if the toggle wasn't changed, non zero if it was changed.  
126 - *  
127 - */  
128 -LIB3270_EXPORT int set_toggle(LIB3270_TOGGLE_ID ix, int value) 116 +LIB3270_EXPORT int lib3270_set_toggle(H3270 *session, LIB3270_TOGGLE ix, int value)
129 { 117 {
130 Boolean v = ((Boolean) (value != 0)); // Convert int in Boolean 118 Boolean v = ((Boolean) (value != 0)); // Convert int in Boolean
131 119
132 struct toggle *t; 120 struct toggle *t;
133 121
  122 + CHECK_SESSION_HANDLE(session);
  123 +
134 if(ix < 0 || ix >= LIB3270_TOGGLE_COUNT) 124 if(ix < 0 || ix >= LIB3270_TOGGLE_COUNT)
135 return 0; 125 return 0;
136 126
@@ -139,7 +129,7 @@ LIB3270_EXPORT int set_toggle(LIB3270_TOGGLE_ID ix, int value) @@ -139,7 +129,7 @@ LIB3270_EXPORT int set_toggle(LIB3270_TOGGLE_ID ix, int value)
139 if(t->value == v) 129 if(t->value == v)
140 return 0; 130 return 0;
141 131
142 - do_toggle_reason(&h3270, ix, TT_INTERACTIVE); 132 + do_toggle_reason(session, ix, TT_INTERACTIVE);
143 133
144 return -1; 134 return -1;
145 } 135 }
@@ -181,13 +171,13 @@ void initialize_toggles(H3270 *session, struct toggle *toggle) @@ -181,13 +171,13 @@ void initialize_toggles(H3270 *session, struct toggle *toggle)
181 171
182 #if defined(X3270_TRACE) 172 #if defined(X3270_TRACE)
183 if(toggle[DS_TRACE].value) 173 if(toggle[DS_TRACE].value)
184 - toggle[DS_TRACE].upcall(&toggle[DS_TRACE],TT_INITIAL); 174 + toggle[DS_TRACE].upcall(session, &toggle[DS_TRACE],TT_INITIAL);
185 175
186 if(toggle[EVENT_TRACE].value) 176 if(toggle[EVENT_TRACE].value)
187 - toggle[EVENT_TRACE].upcall(&toggle[EVENT_TRACE],TT_INITIAL); 177 + toggle[EVENT_TRACE].upcall(session, &toggle[EVENT_TRACE],TT_INITIAL);
188 178
189 if(toggle[SCREEN_TRACE].value) 179 if(toggle[SCREEN_TRACE].value)
190 - toggle[SCREEN_TRACE].upcall(&toggle[SCREEN_TRACE],TT_INITIAL); 180 + toggle[SCREEN_TRACE].upcall(session, &toggle[SCREEN_TRACE],TT_INITIAL);
191 #endif 181 #endif
192 182
193 #if defined(DEFAULT_TOGGLE_CURSOR_POS) 183 #if defined(DEFAULT_TOGGLE_CURSOR_POS)
@@ -210,20 +200,20 @@ void shutdown_toggles(H3270 *session, struct toggle *toggle) @@ -210,20 +200,20 @@ void shutdown_toggles(H3270 *session, struct toggle *toggle)
210 if(toggle[DS_TRACE].value) 200 if(toggle[DS_TRACE].value)
211 { 201 {
212 toggle[DS_TRACE].value = False; 202 toggle[DS_TRACE].value = False;
213 - toggle_dsTrace(&toggle[DS_TRACE], TT_FINAL); 203 + toggle_dsTrace(session, &toggle[DS_TRACE], TT_FINAL);
214 } 204 }
215 205
216 if(toggle[EVENT_TRACE].value) 206 if(toggle[EVENT_TRACE].value)
217 { 207 {
218 toggle[EVENT_TRACE].value = False; 208 toggle[EVENT_TRACE].value = False;
219 - toggle_dsTrace(&toggle[EVENT_TRACE], TT_FINAL); 209 + toggle_dsTrace(session, &toggle[EVENT_TRACE], TT_FINAL);
220 } 210 }
221 211
222 // Clean up the screen trace file. 212 // Clean up the screen trace file.
223 if (toggle[SCREEN_TRACE].value) 213 if (toggle[SCREEN_TRACE].value)
224 { 214 {
225 toggle[SCREEN_TRACE].value = False; 215 toggle[SCREEN_TRACE].value = False;
226 - toggle_screenTrace(&toggle[SCREEN_TRACE], TT_FINAL); 216 + toggle_screenTrace(session, &toggle[SCREEN_TRACE], TT_FINAL);
227 } 217 }
228 #endif 218 #endif
229 } 219 }
latest/src/lib/trace_ds.c
@@ -622,7 +622,7 @@ static void tracefile_callback(Widget w, XtPointer client_data, XtPointer call_d @@ -622,7 +622,7 @@ static void tracefile_callback(Widget w, XtPointer client_data, XtPointer call_d
622 622
623 /* We're really tracing, turn the flag on. */ 623 /* We're really tracing, turn the flag on. */
624 appres.toggle[trace_reason].value = True; 624 appres.toggle[trace_reason].value = True;
625 - appres.toggle[trace_reason].changed = True; 625 +// appres.toggle[trace_reason].changed = True;
626 menubar_retoggle(&appres.toggle[trace_reason]); 626 menubar_retoggle(&appres.toggle[trace_reason]);
627 627
628 /* Display current status. */ 628 /* Display current status. */
@@ -745,7 +745,7 @@ static void tracefile_off(void) @@ -745,7 +745,7 @@ static void tracefile_off(void)
745 stop_tracing(); 745 stop_tracing();
746 } 746 }
747 747
748 -void toggle_dsTrace(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) 748 +void toggle_dsTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt)
749 { 749 {
750 /* If turning on trace and no trace file, open one. */ 750 /* If turning on trace and no trace file, open one. */
751 751
@@ -761,8 +761,7 @@ void toggle_dsTrace(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) @@ -761,8 +761,7 @@ void toggle_dsTrace(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt)
761 (void) gettimeofday(&ds_ts, (struct timezone *)NULL); 761 (void) gettimeofday(&ds_ts, (struct timezone *)NULL);
762 } 762 }
763 763
764 -void  
765 -toggle_eventTrace(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) 764 +void toggle_eventTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt)
766 { 765 {
767 /* If turning on event debug, and no trace file, open one. */ 766 /* If turning on event debug, and no trace file, open one. */
768 767
@@ -857,13 +856,14 @@ screentrace_cb(char *tfn) @@ -857,13 +856,14 @@ screentrace_cb(char *tfn)
857 856
858 /* We're really tracing, turn the flag on. */ 857 /* We're really tracing, turn the flag on. */
859 appres.toggle[SCREEN_TRACE].value = True; 858 appres.toggle[SCREEN_TRACE].value = True;
860 - appres.toggle[SCREEN_TRACE].changed = True; 859 +// appres.toggle[SCREEN_TRACE].changed = True;
861 menubar_retoggle(&appres.toggle[SCREEN_TRACE]); 860 menubar_retoggle(&appres.toggle[SCREEN_TRACE]);
862 return True; 861 return True;
863 } 862 }
864 863
865 -#if defined(X3270_DISPLAY) /*[*/  
866 -/* Callback for "OK" button on screentrace popup */ 864 +/*
  865 +#if defined(X3270_DISPLAY)
  866 +// Callback for "OK" button on screentrace popup
867 static void 867 static void
868 screentrace_callback(Widget w unused, XtPointer client_data, 868 screentrace_callback(Widget w unused, XtPointer client_data,
869 XtPointer call_data unused) 869 XtPointer call_data unused)
@@ -872,7 +872,7 @@ screentrace_callback(Widget w unused, XtPointer client_data, @@ -872,7 +872,7 @@ screentrace_callback(Widget w unused, XtPointer client_data,
872 XtPopdown(screentrace_shell); 872 XtPopdown(screentrace_shell);
873 } 873 }
874 874
875 -/* Callback for second "OK" button on screentrace popup */ 875 +// Callback for second "OK" button on screentrace popup
876 static void 876 static void
877 onescreen_callback(Widget w, XtPointer client_data, XtPointer call_data unused) 877 onescreen_callback(Widget w, XtPointer client_data, XtPointer call_data unused)
878 { 878 {
@@ -892,20 +892,19 @@ onescreen_callback(Widget w, XtPointer client_data, XtPointer call_data unused) @@ -892,20 +892,19 @@ onescreen_callback(Widget w, XtPointer client_data, XtPointer call_data unused)
892 (void) fcntl(fileno(screentracef), F_SETFD, 1); 892 (void) fcntl(fileno(screentracef), F_SETFD, 1);
893 XtFree(tfn); 893 XtFree(tfn);
894 894
895 - /* Save the current image, once. */ 895 + // Save the current image, once.
896 do_screentrace(); 896 do_screentrace();
897 897
898 - /* Close the file, we're done. */ 898 + // Close the file, we're done.
899 (void) fclose(screentracef); 899 (void) fclose(screentracef);
900 screentracef = (FILE *)NULL; 900 screentracef = (FILE *)NULL;
901 901
902 if (w) 902 if (w)
903 XtPopdown(screentrace_shell); 903 XtPopdown(screentrace_shell);
904 } 904 }
905 -#endif /*]*/ 905 +#endif */
906 906
907 -void  
908 -toggle_screenTrace(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) 907 +void toggle_screenTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt)
909 { 908 {
910 char *tracefile_buf = NULL; 909 char *tracefile_buf = NULL;
911 char *tracefile; 910 char *tracefile;
latest/src/lib/trace_dsc.h
@@ -22,9 +22,9 @@ @@ -22,9 +22,9 @@
22 LIB3270_INTERNAL Boolean trace_skipping; 22 LIB3270_INTERNAL Boolean trace_skipping;
23 23
24 const char *rcba(int baddr); 24 const char *rcba(int baddr);
25 -void toggle_dsTrace(struct toggle *t, LIB3270_TOGGLE_TYPE tt);  
26 -void toggle_eventTrace(struct toggle *t, LIB3270_TOGGLE_TYPE tt);  
27 -void toggle_screenTrace(struct toggle *t, LIB3270_TOGGLE_TYPE tt); 25 +void toggle_dsTrace(H3270 *h, struct toggle *t, LIB3270_TOGGLE_TYPE tt);
  26 +void toggle_eventTrace(H3270 *h, struct toggle *t, LIB3270_TOGGLE_TYPE tt);
  27 +void toggle_screenTrace(H3270 *h, struct toggle *t, LIB3270_TOGGLE_TYPE tt);
28 void trace_ansi_disc(void); 28 void trace_ansi_disc(void);
29 void trace_char(char c); 29 void trace_char(char c);
30 void trace_ds(const char *fmt, ...) printflike(1, 2); 30 void trace_ds(const char *fmt, ...) printflike(1, 2);