Commit 3a72fb9226dd99fc9af996154a0210fc018d7ab8

Authored by Perry Werneck
1 parent 8fa946b5
Exists in master and in 1 other branch develop

Building with msvc.

build.bat 0 → 100644
@@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
  1 +@echo off
  2 +nmake /f win\Makefile.msc
src/core/get.cc
@@ -69,7 +69,7 @@ @@ -69,7 +69,7 @@
69 size_t length = strlen(buffer); 69 size_t length = strlen(buffer);
70 string contents = host.toString( (unsigned int) row, (unsigned int) col, (int) length); 70 string contents = host.toString( (unsigned int) row, (unsigned int) col, (int) length);
71 71
72 - strncpy((char *) buffer, contents.c_str(), std::min(length,contents.size())); 72 + strncpy((char *) buffer, contents.c_str(), min(length,contents.size()));
73 73
74 }); 74 });
75 75
@@ -92,7 +92,7 @@ @@ -92,7 +92,7 @@
92 string contents = host.toString((int) offset, (int) len); 92 string contents = host.toString((int) offset, (int) len);
93 93
94 memset(buffer,' ',len); 94 memset(buffer,' ',len);
95 - strncpy((char *) buffer, contents.c_str(), std::min((size_t) len,contents.size())); 95 + strncpy((char *) buffer, contents.c_str(), min((size_t) len,contents.size()));
96 96
97 }); 97 });
98 } 98 }
@@ -113,7 +113,7 @@ @@ -113,7 +113,7 @@
113 113
114 string luname = host.getAssociatedLUName(); 114 string luname = host.getAssociatedLUName();
115 memset(buffer,' ',len); 115 memset(buffer,' ',len);
116 - strncpy((char *) buffer, luname.c_str(), std::min((size_t) len,luname.size())); 116 + strncpy((char *) buffer, luname.c_str(), min((size_t) len,luname.size()));
117 117
118 }); 118 });
119 119
src/core/hllapi.cc
@@ -27,6 +27,11 @@ @@ -27,6 +27,11 @@
27 * 27 *
28 */ 28 */
29 29
  30 +#if defined(_MSC_VER)
  31 + #define strncasecmp _strnicmp
  32 + #define strcasecmp _stricmp
  33 + #endif
  34 +
30 #include "private.h" 35 #include "private.h"
31 #include <lib3270/hllapi.h> 36 #include <lib3270/hllapi.h>
32 37
@@ -315,7 +320,7 @@ static int copy_ps(char *buffer, unsigned short *length, unsigned short GNUC_UNU @@ -315,7 +320,7 @@ static int copy_ps(char *buffer, unsigned short *length, unsigned short GNUC_UNU
315 320
316 string contents = host.toString(0,-1,'\0'); 321 string contents = host.toString(0,-1,'\0');
317 322
318 - size_t szBuffer = std::min(contents.size(), ((size_t) *length)); 323 + size_t szBuffer = min(contents.size(), ((size_t) *length));
319 *length = (unsigned short) szBuffer; 324 *length = (unsigned short) szBuffer;
320 325
321 strncpy(buffer,contents.c_str(),szBuffer); 326 strncpy(buffer,contents.c_str(),szBuffer);
src/core/private.h
@@ -31,7 +31,10 @@ @@ -31,7 +31,10 @@
31 31
32 #define PRIVATE_H_INCLUDED 1 32 #define PRIVATE_H_INCLUDED 1
33 33
  34 +#ifndef _MSC_VER
34 #include <config.h> 35 #include <config.h>
  36 +#endif // !_MSC_VER
  37 +
35 #include <exception> 38 #include <exception>
36 #include <stdexcept> 39 #include <stdexcept>
37 #include <string> 40 #include <string>
src/core/windows/init.cc
@@ -36,7 +36,11 @@ @@ -36,7 +36,11 @@
36 * 36 *
37 */ 37 */
38 38
39 - #include <config.h> 39 +#ifndef _MSC_VER
  40 + #include <config.h>
  41 + #pragma comment(lib,"Advapi32.lib")
  42 +#endif // !_MSC_VER
  43 +
40 #include <winsock2.h> 44 #include <winsock2.h>
41 #include <windows.h> 45 #include <windows.h>
42 #include "../private.h" 46 #include "../private.h"
src/testprogram/testprogram.cc
@@ -28,12 +28,20 @@ @@ -28,12 +28,20 @@
28 */ 28 */
29 29
30 #include <iostream> 30 #include <iostream>
31 - #include <getopt.h>  
32 #include <cstring> 31 #include <cstring>
33 #include <cstdio> 32 #include <cstdio>
  33 + #include <string>
34 #include <ctime> 34 #include <ctime>
35 #include <lib3270/hllapi.h> 35 #include <lib3270/hllapi.h>
36 36
  37 + #if defined(_MSC_VER)
  38 + #pragma comment(lib,"hllapi.lib")
  39 + #define strncasecmp _strnicmp
  40 + #define strcasecmp _stricmp
  41 + #else
  42 + #include <getopt.h>
  43 + #endif
  44 +
37 #define SCREEN_LENGTH 2000 45 #define SCREEN_LENGTH 2000
38 46
39 using namespace std; 47 using namespace std;
@@ -47,6 +55,8 @@ @@ -47,6 +55,8 @@
47 const char *host = ""; 55 const char *host = "";
48 const char *session = ":a"; 56 const char *session = ":a";
49 57
  58 + #if ! defined(_MSC_VER)
  59 +
50 #pragma GCC diagnostic push 60 #pragma GCC diagnostic push
51 static struct option options[] = 61 static struct option options[] =
52 { 62 {
@@ -75,6 +85,8 @@ @@ -75,6 +85,8 @@
75 85
76 } 86 }
77 87
  88 + #endif // ! defined(_MSC_VER)
  89 +
78 int rc = hllapi_init((char *) session); 90 int rc = hllapi_init((char *) session);
79 if(rc) { 91 if(rc) {
80 cout << "hllapi_init returns with rc=" << rc << " (" << hllapi_get_last_error() << ")" << endl; 92 cout << "hllapi_init returns with rc=" << rc << " (" << hllapi_get_last_error() << ")" << endl;
@@ -88,7 +100,7 @@ @@ -88,7 +100,7 @@
88 cout.flush(); 100 cout.flush();
89 101
90 string cmdline; 102 string cmdline;
91 - while(std::getline(std::cin, cmdline)) { 103 + while(getline(cin, cmdline)) {
92 104
93 if(cmdline.empty()) 105 if(cmdline.empty())
94 break; 106 break;
win/Makefile.msc
@@ -60,17 +60,32 @@ testprogram.exe: \ @@ -60,17 +60,32 @@ testprogram.exe: \
60 @link \ 60 @link \
61 /nologo \ 61 /nologo \
62 /OUT:"$@" \ 62 /OUT:"$@" \
  63 + /LIBPATH:"$(PW3270_SDK_PATH)\lib" \
63 src\testprogram\testprogram.obj 64 src\testprogram\testprogram.obj
64 65
65 hllapi.dll: \ 66 hllapi.dll: \
66 - $(OBJ_FILES) \ 67 + $(OBJ_FILES)
67 @echo Build dll file.... 68 @echo Build dll file....
68 link \ 69 link \
69 /NOLOGO \ 70 /NOLOGO \
70 /DLL \ 71 /DLL \
71 /OUT:"$@" \ 72 /OUT:"$@" \
  73 + /LIBPATH:"$(PW3270_SDK_PATH)\lib" \
72 $(OBJ_FILES) \ 74 $(OBJ_FILES) \
73 - $(PW3270_SDK_PATH)\lib\ipc3270.lib 75 + "ipc3270.lib \
  76 + Advapi32.lib
  77 +
  78 +install: \
  79 + $(OBJ_FILES)
  80 + @echo Building library...
  81 + @-mkdir "$(PW3270_SDK_PATH)\lib"
  82 + @lib \
  83 + /NOLOGO \
  84 + /OUT:"$(PW3270_SDK_PATH)\lib\hllapi.lib" \
  85 + $(OBJ_FILES)
  86 +
  87 + @-mkdir "$(PW3270_SDK_PATH)\include\lib3270"
  88 + @copy "src\include\lib3270\*.h" "$(PW3270_SDK_PATH)\include\lib3270"
74 89
75 clean: 90 clean:
76 del \ 91 del \