From c8c59285e3b21949c6d20e1e7fa68c3ed92b5949 Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Mon, 16 Nov 2020 19:09:57 -0800 Subject: [PATCH] Changes necessary to build with MSVC2019. --- src/syncterm/SyncTERM.vcxproj | 1 + src/syncterm/amigafont.h | 22 ++++++++++++++++++++-- src/syncterm/ripper.c | 7 ++++++- src/syncterm/term.c | 2 +- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/syncterm/SyncTERM.vcxproj b/src/syncterm/SyncTERM.vcxproj index 1eda4c0680..9306dd03cc 100644 --- a/src/syncterm/SyncTERM.vcxproj +++ b/src/syncterm/SyncTERM.vcxproj @@ -123,6 +123,7 @@ <ClCompile Include="ooii_cmenus.c" /> <ClCompile Include="ooii_logons.c" /> <ClCompile Include="ooii_sounds.c" /> + <ClCompile Include="ripper.c" /> <ClCompile Include="rlogin.c" /> <ClCompile Include="syncterm.c" /> <ClCompile Include="telnet_io.c" /> diff --git a/src/syncterm/amigafont.h b/src/syncterm/amigafont.h index 3452148e05..3d523f1cc3 100644 --- a/src/syncterm/amigafont.h +++ b/src/syncterm/amigafont.h @@ -36,7 +36,21 @@ struct FontList { } entry[]; }; -struct FontHeader { +#if defined(_WIN32) || defined(__BORLANDC__) + #define PRAGMA_PACK +#endif + +#if defined(PRAGMA_PACK) || defined(__WATCOMC__) + #define _PACK +#else + #define _PACK __attribute__ ((packed)) +#endif + +#if defined(PRAGMA_PACK) + #pragma pack(push,1) /* Disk image structures must be packed */ +#endif + +struct _PACK FontHeader { uint8_t ignore[0x6E]; uint16_t height; uint8_t style; @@ -52,6 +66,10 @@ struct FontHeader { uint32_t charlocOffset; uint32_t fontSpaceOffset; uint32_t kernOffset; -} __attribute__((packed)); // TODO: Deal with Microsoft. +}; + +#if defined(PRAGMA_PACK) +#pragma pack(pop) /* original packing */ +#endif #endif diff --git a/src/syncterm/ripper.c b/src/syncterm/ripper.c index a289c3e293..e03f1f243e 100644 --- a/src/syncterm/ripper.c +++ b/src/syncterm/ripper.c @@ -3,6 +3,9 @@ */ #include <sys/stat.h> +#if defined(_MSC_VER) + #define _USE_MATH_DEFINES // for C +#endif #include <math.h> #include <string.h> #include <stdbool.h> @@ -17,7 +20,9 @@ #include <genwrap.h> #include <sockwrap.h> #include <strwrap.h> -#include <unistd.h> +#if defined(__unix__) + #include <unistd.h> +#endif #include <vidmodes.h> #include <xpbeep.h> diff --git a/src/syncterm/term.c b/src/syncterm/term.c index 79f00751de..8eb87d6e9f 100644 --- a/src/syncterm/term.c +++ b/src/syncterm/term.c @@ -2479,7 +2479,7 @@ BOOL doterm(struct bbslist *bbs) #endif int ooii_mode=0; recv_byte_buffer_len=recv_byte_buffer_pos=0; - struct mouse_state ms = {}; + struct mouse_state ms = {0}; int speedwatch = 0; gettextinfo(&txtinfo); -- GitLab