From 6a16861ab06beee658dba5807e6d270a1473c8dc Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Wed, 3 Apr 2013 22:06:12 +0000 Subject: [PATCH] Compilando extensao rexx em windows --- src/plugins/rx3270/local.cc | 12 ++++++++++-- src/plugins/rx3270/pluginmain.cc | 2 +- src/plugins/rx3270/rexx_methods.cc | 4 +--- src/plugins/rx3270/rx3270.h | 22 ++++++++++++++-------- src/plugins/rx3270/rxapimain.cc | 4 ++-- src/plugins/rx3270/text.cc | 6 +++--- src/plugins/rx3270/typed_routines.cc | 4 +--- 7 files changed, 32 insertions(+), 22 deletions(-) diff --git a/src/plugins/rx3270/local.cc b/src/plugins/rx3270/local.cc index de9de19..72c242c 100644 --- a/src/plugins/rx3270/local.cc +++ b/src/plugins/rx3270/local.cc @@ -43,6 +43,14 @@ #include #endif // HAVE_SYSLOG +// http://msdn.microsoft.com/en-us/library/windows/desktop/ms684179(v=vs.85).aspx +#ifndef LOAD_LIBRARY_SEARCH_DEFAULT_DIRS + #define LOAD_LIBRARY_SEARCH_DEFAULT_DIRS 0x00001000 +#endif // LOAD_LIBRARY_SEARCH_DEFAULT_DIRS + +#ifndef LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR + #define LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 0x00000100 +#endif // LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR /*--[ Class definition ]-----------------------------------------------------------------------------*/ @@ -96,7 +104,7 @@ void (*_set_toggle)(H3270 *h, LIB3270_TOGGLE ix, int value); #ifdef WIN32 - HMODULE hModule + HMODULE hModule; #else void * hModule; #endif // WIN32 @@ -376,7 +384,7 @@ dynamic::dynamic() fflush(stderr); dlclose(hModule); #else - #error DLL close + FreeLibrary(hModule); #endif // !WIN32 hModule = NULL; return; diff --git a/src/plugins/rx3270/pluginmain.cc b/src/plugins/rx3270/pluginmain.cc index 28eae41..d693609 100644 --- a/src/plugins/rx3270/pluginmain.cc +++ b/src/plugins/rx3270/pluginmain.cc @@ -27,9 +27,9 @@ * */ + #include "rx3270.h" #include #include - #include "rx3270.h" /*--[ Plugin session object ]--------------------------------------------------------------------------------*/ diff --git a/src/plugins/rx3270/rexx_methods.cc b/src/plugins/rx3270/rexx_methods.cc index fa6e08f..dd70bb2 100644 --- a/src/plugins/rx3270/rexx_methods.cc +++ b/src/plugins/rx3270/rexx_methods.cc @@ -27,12 +27,10 @@ * */ + #include "rx3270.h" #include #include - #include "rx3270.h" - - /*--[ Implement ]------------------------------------------------------------------------------------*/ RexxMethod1(int, rx3270_method_init, CSTRING, type) diff --git a/src/plugins/rx3270/rx3270.h b/src/plugins/rx3270/rx3270.h index 1ba6a0e..f717050 100644 --- a/src/plugins/rx3270/rx3270.h +++ b/src/plugins/rx3270/rx3270.h @@ -31,18 +31,22 @@ #define RX3270_H_INCLUDED 1 + #include + + #ifdef HAVE_OOREXXAPI_H + #ifdef WIN32 + #define _SSIZE_T_DEFINED + #endif + #include + #else + #error Only Rexx 4 + #endif + #include #include - #include #include #include -#ifdef HAVE_OOREXXAPI_H - #include -#else - #error Only Rexx 4 -#endif - #ifndef ETIMEDOUT #define ETIMEDOUT -1 #endif // !ETIMEOUT @@ -95,7 +99,9 @@ /*--[ 3270 Session ]-----------------------------------------------------------------------------------------*/ #if defined (HAVE_GNUC_VISIBILITY) - class __attribute__((visibility("default"))) rx3270 + class __attribute__((visibility("default"))) rx3270 +#elif defined(WIN32) + class __declspec (dllexport) rx3270 #else #error NOT_IMPLEMENTED #endif diff --git a/src/plugins/rx3270/rxapimain.cc b/src/plugins/rx3270/rxapimain.cc index 18a24e4..47d6bd1 100644 --- a/src/plugins/rx3270/rxapimain.cc +++ b/src/plugins/rx3270/rxapimain.cc @@ -52,8 +52,8 @@ /*--[ Globals ]--------------------------------------------------------------------------------------*/ - LIB3270_EXPORT RexxRoutineEntry rx3270_functions[]; - LIB3270_EXPORT RexxPackageEntry rx3270_package_entry; +// LIB3270_EXPORT RexxRoutineEntry rx3270_functions[]; +// LIB3270_EXPORT RexxPackageEntry rx3270_package_entry; /*--[ Implement ]------------------------------------------------------------------------------------*/ diff --git a/src/plugins/rx3270/text.cc b/src/plugins/rx3270/text.cc index f2ad171..22f6b79 100644 --- a/src/plugins/rx3270/text.cc +++ b/src/plugins/rx3270/text.cc @@ -43,13 +43,13 @@ char * rx3270::get_3270_string(const char *str) size_t out = (in << 1); char *ptr; char *buffer = (char *) malloc(out); - char *ret; + char *ret; memset(ptr=buffer,0,out); iconv(conv2Host,NULL,NULL,NULL,NULL); // Reset state - if(iconv(conv2Host,(char **) &str,&in,&ptr,&out) == ((size_t) -1)) + if(iconv(conv2Host,&str,&in,&ptr,&out) == ((size_t) -1)) ret = strdup((char *) str); else ret = strdup(buffer); @@ -78,7 +78,7 @@ char * rx3270::get_local_string(const char *str) iconv(conv2Local,NULL,NULL,NULL,NULL); // Reset state - if(iconv(conv2Local,(char **) &str,&in,&ptr,&out) == ((size_t) -1)) + if(iconv(conv2Local,&str,&in,&ptr,&out) == ((size_t) -1)) ret = strdup((char *) str); else ret = strdup(buffer); diff --git a/src/plugins/rx3270/typed_routines.cc b/src/plugins/rx3270/typed_routines.cc index 8aa939d..acef1bf 100644 --- a/src/plugins/rx3270/typed_routines.cc +++ b/src/plugins/rx3270/typed_routines.cc @@ -27,12 +27,10 @@ * */ + #include "rx3270.h" #include #include - #include "rx3270.h" - - /*--[ Implement ]------------------------------------------------------------------------------------*/ RexxRoutine0(CSTRING, rx3270version) -- libgit2 0.21.2