Commit 7c9366e02cde91e44863bfb0f5c6894a13464012
1 parent
68350b48
Exists in
master
Mais chamadas de toggle receberam a estrutura de sessão como argumento
Showing
13 changed files
with
80 additions
and
64 deletions
Show diff stats
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); |