From 3adeb629b32b379834f61e2f46d80f62346fdf08 Mon Sep 17 00:00:00 2001 From: Magnus Danielsson Date: Wed, 6 Jul 2016 15:53:47 -0700 Subject: Make it easier to compile on windows. --- xdelta3/xdelta3-internal.h | 4 ++-- xdelta3/xdelta3.h | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/xdelta3/xdelta3-internal.h b/xdelta3/xdelta3-internal.h index c807648..0c6a1bb 100644 --- a/xdelta3/xdelta3-internal.h +++ b/xdelta3/xdelta3-internal.h @@ -369,13 +369,13 @@ usize_t xd3_checksum_hash (const xd3_hash_cfg *cfg, const usize_t cksum); #if USE_UINT32 uint32_t xd3_large32_cksum (xd3_hash_cfg *cfg, const uint8_t *base, const usize_t look); -uint32_t xd3_large32_cksum_update (xd3_hash_cfg *cfg, uint32_t cksum, +uint32_t xd3_large32_cksum_update (xd3_hash_cfg *cfg, const uint32_t cksum, const uint8_t *base, const usize_t look); #endif /* USE_UINT32 */ #if USE_UINT64 uint64_t xd3_large64_cksum (xd3_hash_cfg *cfg, const uint8_t *base, const usize_t look); -uint64_t xd3_large64_cksum_update (xd3_hash_cfg *cfg, uint64_t cksum, +uint64_t xd3_large64_cksum_update (xd3_hash_cfg *cfg, const uint64_t cksum, const uint8_t *base, const usize_t look); #endif /* USE_UINT64 */ diff --git a/xdelta3/xdelta3.h b/xdelta3/xdelta3.h index b513efb..f98eb2a 100644 --- a/xdelta3/xdelta3.h +++ b/xdelta3/xdelta3.h @@ -115,7 +115,9 @@ #include #include #else /* WIN32 case */ +#ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN +#endif #ifndef WINVER #if XD3_USE_LARGEFILE64 @@ -378,7 +380,11 @@ typedef struct { } shortbuf; #ifndef PRINTF_ATTRIBUTE +#ifdef __GNUC__ #define PRINTF_ATTRIBUTE(x,y) __attribute__ ((__format__ (__printf__, x, y))) +#else +#define PRINTF_ATTRIBUTE(x,y) +#endif #endif /* Underlying xprintf() */ @@ -1099,6 +1105,11 @@ struct _xd3_stream PUBLIC FUNCTIONS **************************************************************************/ +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + + /* This function configures an xd3_stream using the provided in-memory * input buffer, source buffer, output buffer, and flags. The output * array must be large enough or else ENOSPC will be returned. This @@ -1429,6 +1440,10 @@ void xd3_blksize_add (xoff_t *blkno, XD3_ASSERT (*blkoff < source->blksize); } +#ifdef __cplusplus +} // extern "C" +#endif + #define XD3_NOOP 0U #define XD3_ADD 1U #define XD3_RUN 2U -- cgit v1.2.3