From 69e36bb0433c76866d3e5462b9c417982432b0b5 Mon Sep 17 00:00:00 2001
From: Rob Swindell <rob@synchro.net>
Date: Mon, 16 Nov 2020 19:10:53 -0800
Subject: [PATCH] Changes necessary to build SyncTERM-Win32 with MSVC2019.

---
 src/xpdev/strwrap.c        | 6 +++++-
 src/xpdev/xpdev_mt.vcxproj | 1 +
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/xpdev/strwrap.c b/src/xpdev/strwrap.c
index 0af1480511..11a7280118 100644
--- a/src/xpdev/strwrap.c
+++ b/src/xpdev/strwrap.c
@@ -1,4 +1,6 @@
 #include <stdio.h>
+#include <malloc.h>
+#include <string.h>
 
 #if !defined _MSC_VER && !defined __BORLANDC__
 char* itoa(int val, char* str, int radix)
@@ -40,7 +42,7 @@ char* ltoa(long val, char* str, int radix)
 }
 #endif
 
-#ifdef _WIN32
+#if defined(_WIN32) && !defined(_MSC_VER)
 /* From FreeBSD */
 size_t
 strnlen(const char *s, size_t maxlen)
@@ -53,7 +55,9 @@ strnlen(const char *s, size_t maxlen)
 	}
 	return (len);
 }
+#endif
 
+#ifdef _WIN32
 /* From FreeBSD */
 char *
 strndup(const char *str, size_t maxlen)
diff --git a/src/xpdev/xpdev_mt.vcxproj b/src/xpdev/xpdev_mt.vcxproj
index bf2b0141b5..e8588591ff 100644
--- a/src/xpdev/xpdev_mt.vcxproj
+++ b/src/xpdev/xpdev_mt.vcxproj
@@ -182,6 +182,7 @@
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
+    <ClCompile Include="strwrap.c" />
     <ClCompile Include="str_list.c">
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- 
GitLab