diff --git a/src/syncterm/SyncTERM.vcxproj b/src/syncterm/SyncTERM.vcxproj index 1eda4c0680718eaf7f38b3ab87c290d7c0b1f8aa..9306dd03cc3ca8c3f2a147842c111c244b51ecc9 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 3452148e05ffef00b7ba92ffcaccce6c839f6650..3d523f1cc3549a669986e9ffefffa970585eeaca 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 a289c3e2938ab19d356b33734798d9515fd77d74..e03f1f243e1144c2a5859cb4a5770bf3596b7f8a 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 79f00751de455a1c806cf13d2f363085d8b64fa4..8eb87d6e9f70c13c50f091c413c365f84089b376 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);