From f7d659086b06e44b85187160e4df7305236964bc Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Thu, 17 Jan 2019 19:52:26 -0200 Subject: [PATCH] Adding "reset_callbacks" method. --- src/include/lib3270.h | 1 + src/lib3270/session.c | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/include/lib3270.h b/src/include/lib3270.h index ca4f5c2..abdbb14 100644 --- a/src/include/lib3270.h +++ b/src/include/lib3270.h @@ -446,6 +446,7 @@ */ LIB3270_EXPORT void lib3270_register_schange(H3270 *h,LIB3270_STATE tx, void (*func)(H3270 *, int, void *),void *data); + LIB3270_EXPORT void lib3270_reset_callbacks(H3270 *hSession); /** * @brief Set host id for the connect/reconnect operations. diff --git a/src/lib3270/session.c b/src/lib3270/session.c index cc8a3a5..addf0c4 100644 --- a/src/lib3270/session.c +++ b/src/lib3270/session.c @@ -254,15 +254,8 @@ static void set_peer_certificate)(const void *cert unused) } #endif // HAVE_LIBSSL -static void lib3270_session_init(H3270 *hSession, const char *model, const char *charset) +void lib3270_reset_callbacks(H3270 *hSession) { - int f; - - memset(hSession,0,sizeof(H3270)); -// hSession->sz = sizeof(H3270); - - lib3270_set_host_charset(hSession,charset); - // Default calls hSession->cbk.write = lib3270_sock_send; hSession->cbk.disconnect = lib3270_sock_disconnect; @@ -288,6 +281,17 @@ static void lib3270_session_init(H3270 *hSession, const char *model, const char hSession->cbk.set_timer = set_timer; hSession->cbk.print = print; hSession->cbk.set_peer_certificate = set_peer_certificate; +} + +static void lib3270_session_init(H3270 *hSession, const char *model, const char *charset) +{ + int f; + + memset(hSession,0,sizeof(H3270)); +// hSession->sz = sizeof(H3270); + + lib3270_set_host_charset(hSession,charset); + lib3270_reset_callbacks(hSession); // Trace management. hSession->trace.handler = def_trace; -- libgit2 0.21.2