From 38c5f27485b17e41b6b6beea506fd2cea81d6cff Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Wed, 2 May 2012 14:04:21 +0000 Subject: [PATCH] Ajustes para windows, incluindo detecção via ./configure e uso da função getaddrinfo quando disponível --- configure.ac | 1 + src/gtk/Makefile.in | 2 +- src/gtk/main.c | 8 ++++---- src/gtk/uiparser/Makefile.in | 2 +- src/include/lib3270/config.h.in | 1 + src/lib3270/Makefile.in | 2 +- src/lib3270/glue.c | 4 ++-- src/lib3270/host.c | 2 +- src/lib3270/popupsc.h | 2 +- src/lib3270/resolver.c | 4 +--- src/lib3270/telnet.c | 2 +- src/lib3270/trace_ds.c | 21 --------------------- 12 files changed, 15 insertions(+), 36 deletions(-) diff --git a/configure.ac b/configure.ac index 2267dd2..f7ebdc5 100644 --- a/configure.ac +++ b/configure.ac @@ -220,6 +220,7 @@ AC_SUBST(DLL_CFLAGS) AC_CHECK_HEADER(malloc.h, AC_DEFINE(HAVE_MALLOC_H,,[do we have malloc.h?])) +AC_CHECK_FUNCS(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO) ) #--[ GTK 2/3 check ]------------------------------------------------------------------------------------------------------------------------------------------ diff --git a/src/gtk/Makefile.in b/src/gtk/Makefile.in index 2b9532d..96de93d 100644 --- a/src/gtk/Makefile.in +++ b/src/gtk/Makefile.in @@ -59,7 +59,7 @@ DEPENDS=*.h common/*.h uiparser/*.h v3270/*.h $(GLOBAL_DEPS) VALGRIND=@VALGRIND@ -CFLAGS=@CFLAGS@ @GTK_CFLAGS@ -DDATADIR=\"$(datarootdir)\" -I../../src/include +CFLAGS=@CFLAGS@ @GTK_CFLAGS@ -DDATAROOTDIR=\"$(datarootdir)\" -I../../src/include LIBS=@LIBS@ @GTK_LIBS@ include ../include/rules.mak diff --git a/src/gtk/main.c b/src/gtk/main.c index fa6278c..4d2ba58 100644 --- a/src/gtk/main.c +++ b/src/gtk/main.c @@ -120,10 +120,10 @@ int main(int argc, char *argv[]) g_free( appdir ); } -#elif defined( DATADIR ) +#elif defined( DATAROOTDIR ) { - gchar * appdir = g_build_filename(DATADIR,PACKAGE_NAME,NULL); - gchar * locdir = g_build_filename(DATADIR,"locale",NULL); + gchar * appdir = g_build_filename(DATAROOTDIR,PACKAGE_NAME,NULL); + gchar * locdir = g_build_filename(DATAROOTDIR,"locale",NULL); g_chdir(appdir); bindtextdomain( PACKAGE_NAME, locdir); @@ -132,7 +132,7 @@ int main(int argc, char *argv[]) g_free(appdir); } -#endif // DATADIR +#endif // DATAROOTDIR bind_textdomain_codeset(PACKAGE_NAME, "UTF-8"); textdomain(PACKAGE_NAME); diff --git a/src/gtk/uiparser/Makefile.in b/src/gtk/uiparser/Makefile.in index 0926536..b04f7a1 100644 --- a/src/gtk/uiparser/Makefile.in +++ b/src/gtk/uiparser/Makefile.in @@ -53,7 +53,7 @@ SOURCES=testprogram.c ../common/config.c $(foreach SRC, $(UI_PARSER_SRC), $(SRC) DEPENDS=*.h ../common/*.h Makefile -CFLAGS=@CFLAGS@ @GTK_CFLAGS@ -DDATADIR=\"$(datarootdir)\" -I../../include +CFLAGS=@CFLAGS@ @GTK_CFLAGS@ -DDATAROOTDIR=\"$(datarootdir)\" -I../../include LIBS=@LIBS@ @GTK_LIBS@ include ../../include/rules.mak diff --git a/src/include/lib3270/config.h.in b/src/include/lib3270/config.h.in index 86f2b66..3a5595a 100644 --- a/src/include/lib3270/config.h.in +++ b/src/include/lib3270/config.h.in @@ -40,6 +40,7 @@ #undef HAVE_GNUC_VISIBILITY #undef HAVE_LIBM #undef HAVE_LIBINTL + #undef HAVE_GETADDRINFO #undef HAVE_GNOME diff --git a/src/lib3270/Makefile.in b/src/lib3270/Makefile.in index 761a1a3..be8ca4f 100644 --- a/src/lib3270/Makefile.in +++ b/src/lib3270/Makefile.in @@ -28,7 +28,7 @@ PACKAGE=@PACKAGE_NAME@ -CFLAGS=@CFLAGS@ @DLL_CFLAGS@ -DDATADIR=\"$(datarootdir)\" -I../include +CFLAGS=@CFLAGS@ @DLL_CFLAGS@ -DDATAROOTDIR=\"$(datarootdir)\" -I../include SSL_CFLAGS=@LIBSSL_CFLAGS@ DLL_FLAGS=@DLL_FLAGS@ diff --git a/src/lib3270/glue.c b/src/lib3270/glue.c index 74fb602..c4b2b96 100644 --- a/src/lib3270/glue.c +++ b/src/lib3270/glue.c @@ -810,7 +810,7 @@ Boolean error_popup_visible = False; /* Pop up an error dialog, based on an error number. */ -void popup_an_errno(int errn, const char *fmt, ...) +void popup_an_errno(H3270 *session, int errn, const char *fmt, ...) { char vmsgbuf[4096]; va_list args; @@ -819,7 +819,7 @@ void popup_an_errno(int errn, const char *fmt, ...) (void) vsprintf(vmsgbuf, fmt, args); va_end(args); - lib3270_write_log("3270", "Error Popup:\n%s\nrc=%d (%s)",vmsgbuf,errn,strerror(errn)); + lib3270_write_log(session, "3270", "Error Popup:\n%s\nrc=%d (%s)",vmsgbuf,errn,strerror(errn)); Error(NULL,vmsgbuf); } diff --git a/src/lib3270/host.c b/src/lib3270/host.c index c4a6f6f..021d8c1 100644 --- a/src/lib3270/host.c +++ b/src/lib3270/host.c @@ -645,7 +645,7 @@ int lib3270_connect(H3270 *h, const char *n, int wait) */ static void try_reconnect(H3270 *session) { - lib3270_write_log("3270","Starting auto-reconnect (Host: %s)",session->full_current_host ? session->full_current_host : "-"); + lib3270_write_log(session,"3270","Starting auto-reconnect (Host: %s)",session->full_current_host ? session->full_current_host : "-"); session->auto_reconnect_inprogress = False; lib3270_reconnect(session,0); } diff --git a/src/lib3270/popupsc.h b/src/lib3270/popupsc.h index 8e9a9bb..cad80ad 100644 --- a/src/lib3270/popupsc.h +++ b/src/lib3270/popupsc.h @@ -14,5 +14,5 @@ /* Non-display version of popupsc.h */ -LIB3270_INTERNAL void popup_an_errno(int errn, const char *fmt, ...); +LIB3270_INTERNAL void popup_an_errno(H3270 *session, int errn, const char *fmt, ...); LIB3270_INTERNAL void action_output(const char *fmt, ...); diff --git a/src/lib3270/resolver.c b/src/lib3270/resolver.c index c30c6ea..db94c7c 100644 --- a/src/lib3270/resolver.c +++ b/src/lib3270/resolver.c @@ -86,9 +86,7 @@ struct parms */ static int cresolve_host_and_port(H3270 *h, struct parms *p) { -#warning Should use configure to detect getaddrinfo and use it if available. - -#ifdef AF_INET6 +#ifdef HAVE_GETADDRINFO struct addrinfo hints, *res; int rc; diff --git a/src/lib3270/telnet.c b/src/lib3270/telnet.c index 9b9814b..26f170c 100644 --- a/src/lib3270/telnet.c +++ b/src/lib3270/telnet.c @@ -3277,7 +3277,7 @@ static void client_info_callback(INFO_CONST SSL *s, int where, int ret) if (ret == 0) { trace_dsn("SSL_connect: failed in %s\n",SSL_state_string_long(s)); - lib3270_write_log("SSL","connect failed in %s (Alert: %s)",SSL_state_string_long(s),SSL_alert_type_string_long(ret)); + lib3270_write_log(&h3270,"SSL","connect failed in %s (Alert: %s)",SSL_state_string_long(s),SSL_alert_type_string_long(ret)); } else if (ret < 0) { diff --git a/src/lib3270/trace_ds.c b/src/lib3270/trace_ds.c index c0a361f..67b6e54 100644 --- a/src/lib3270/trace_ds.c +++ b/src/lib3270/trace_ds.c @@ -246,27 +246,6 @@ static void __vwtrace(H3270 *session, const char *fmt, va_list args) fflush(stdout); } -/* -static void vwtrace(const char *fmt, va_list args) -{ - char buf[16384]; - - vsnprintf(buf,16384,fmt,args); - - if(!tracewindow_handle) - tracewindow_handle = console_window_new( _( "Trace Window" ), NULL ); - - if(tracewindow_handle) - console_window_append(tracewindow_handle,"%s",buf); - - if(tracef != NULL) - { - if(fwrite(buf,strlen(buf),1,tracef) != 1) - popup_an_errno(errno,_( "Write to trace file failed\n%s" ),strerror(errno)); - } -} -*/ - /* Write to the trace file. */ static void wtrace(const char *fmt, ...) { -- libgit2 0.21.2