Commit 1dd5ff8682a1cbe1e945cc3407e6f3b637e545f6

Authored by Perry Werneck
1 parent daecaf1e

Fixing toggle listener callbacks.

src/core/toggles.c
@@ -256,7 +256,7 @@ static void toggle_notify(H3270 *session, struct lib3270_toggle *t, LIB3270_TOGG @@ -256,7 +256,7 @@ static void toggle_notify(H3270 *session, struct lib3270_toggle *t, LIB3270_TOGG
256 256
257 for(st = session->listeners.toggle.callbacks[ix]; st != (struct lib3270_toggle_callback *) NULL; st = (struct lib3270_toggle_callback *) st->next) 257 for(st = session->listeners.toggle.callbacks[ix]; st != (struct lib3270_toggle_callback *) NULL; st = (struct lib3270_toggle_callback *) st->next)
258 { 258 {
259 - st->func(session, ix, st->data); 259 + st->func(session, ix, t->value, st->data);
260 } 260 }
261 261
262 } 262 }
@@ -421,7 +421,7 @@ LIB3270_EXPORT LIB3270_TOGGLE lib3270_get_toggle_id(const char *name) @@ -421,7 +421,7 @@ LIB3270_EXPORT LIB3270_TOGGLE lib3270_get_toggle_id(const char *name)
421 return -1; 421 return -1;
422 } 422 }
423 423
424 -LIB3270_EXPORT const void * lib3270_register_toggle_listener(H3270 *hSession, LIB3270_TOGGLE tx, void (*func)(H3270 *, LIB3270_TOGGLE, void *),void *data) 424 +LIB3270_EXPORT const void * lib3270_register_toggle_listener(H3270 *hSession, LIB3270_TOGGLE tx, void (*func)(H3270 *, LIB3270_TOGGLE, char, void *),void *data)
425 { 425 {
426 struct lib3270_toggle_callback *st; 426 struct lib3270_toggle_callback *st;
427 427
src/include/lib3270-internals.h
@@ -153,7 +153,9 @@ LIB3270_INTERNAL const char * build_rpq_revision; @@ -153,7 +153,9 @@ LIB3270_INTERNAL const char * build_rpq_revision;
153 #endif /*]*/ 153 #endif /*]*/
154 154
155 155
156 -/* toggle names */ 156 +/**
  157 + * @brief toggle names
  158 + */
157 struct toggle_name { 159 struct toggle_name {
158 const char *name; 160 const char *name;
159 int index; 161 int index;
@@ -330,9 +332,9 @@ struct lib3270_state_callback @@ -330,9 +332,9 @@ struct lib3270_state_callback
330 332
331 struct lib3270_toggle_callback 333 struct lib3270_toggle_callback
332 { 334 {
333 - struct lib3270_toggle_callback * next; /**< @brief Next callback in chain */  
334 - void * data; /**< @brief User data */  
335 - void (*func)(H3270 *, LIB3270_TOGGLE, void *); /**< @brief Function to call */ 335 + struct lib3270_toggle_callback * next; /**< @brief Next callback in chain */
  336 + void * data; /**< @brief User data */
  337 + void (*func)(H3270 *, LIB3270_TOGGLE, char, void *); /**< @brief Function to call */
336 }; 338 };
337 339
338 /** 340 /**
src/include/lib3270/toggle.h
@@ -104,7 +104,7 @@ @@ -104,7 +104,7 @@
104 LIB3270_EXPORT void lib3270_set_session_id(H3270 *hSession, char id); 104 LIB3270_EXPORT void lib3270_set_session_id(H3270 *hSession, char id);
105 LIB3270_EXPORT char lib3270_get_session_id(H3270 *hSession); 105 LIB3270_EXPORT char lib3270_get_session_id(H3270 *hSession);
106 106
107 - LIB3270_EXPORT const void * lib3270_register_toggle_listener(H3270 *hSession, LIB3270_TOGGLE tx, void (*func)(H3270 *, LIB3270_TOGGLE, void *),void *data); 107 + LIB3270_EXPORT const void * lib3270_register_toggle_listener(H3270 *hSession, LIB3270_TOGGLE tx, void (*func)(H3270 *, LIB3270_TOGGLE, char, void *),void *data);
108 LIB3270_EXPORT int lib3270_unregister_toggle_listener(H3270 *hSession, LIB3270_TOGGLE tx, const void *id); 108 LIB3270_EXPORT int lib3270_unregister_toggle_listener(H3270 *hSession, LIB3270_TOGGLE tx, const void *id);
109 109
110 #endif /* LIB3270_TOGGLE_H_INCLUDED */ 110 #endif /* LIB3270_TOGGLE_H_INCLUDED */