From e9738199cf38e578c2e03956680297f4a8839047 Mon Sep 17 00:00:00 2001 From: merlino Date: Tue, 11 Jan 2011 02:48:40 +0000 Subject: [PATCH] Rename symbols in bundled zlib so it can coexist with dynamically linked system zlib. Also rename md4/sha1 symbols for good measure, even though they don't seem to conflict with anything. --- c/librcksum/md4.h | 11 +++++++++ c/libzsync/sha1.h | 11 +++++++++ c/zlib/zlib.h | 1 + c/zlib/zsync_zlib_rename.h | 49 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 c/zlib/zsync_zlib_rename.h diff --git a/c/librcksum/md4.h b/c/librcksum/md4.h index e90603a..9aea99c 100644 --- a/c/librcksum/md4.h +++ b/c/librcksum/md4.h @@ -16,6 +16,17 @@ #ifndef _MD4_H_ #define _MD4_H_ +/* Rename MD4 symbols to avoid namespace pollution. */ +#define MD4Init zsync__MD4Init +#define MD4Update zsync__MD4Update +#define MD4Pad zsync__MD4Pad +#define MD4Final zsync__MD4Final +#define MD4Transform zsync__MD4Transform +#define MD4End zsync__MD4End +#define MD4File zsync__MD4File +#define MD4FileChunk zsync__MD4FileChunk +#define MD4Data zsync__MD4Data + #include "zsglobal.h" #ifdef HAVE_INTTYPES_H diff --git a/c/libzsync/sha1.h b/c/libzsync/sha1.h index 3946505..11d2cfb 100644 --- a/c/libzsync/sha1.h +++ b/c/libzsync/sha1.h @@ -9,6 +9,17 @@ #ifndef _SHA1_H #define _SHA1_H +/* Rename SHA1 symbols to avoid namespace pollution. */ +#define SHA1Init zsync__SHA1Init +#define SHA1Pad zsync__SHA1Pad +#define SHA1Transform zsync__SHA1Transform +#define SHA1Update zsync__SHA1Update +#define SHA1Final zsync__SHA1Final +#define SHA1End zsync__SHA1End +#define SHA1File zsync__SHA1File +#define SHA1FileChunk zsync__SHA1FileChunk +#define SHA1Data zsync__SHA1Data + #include "config.h" #ifdef HAVE_INTTYPES_H diff --git a/c/zlib/zlib.h b/c/zlib/zlib.h index 71ffa23..e007251 100644 --- a/c/zlib/zlib.h +++ b/c/zlib/zlib.h @@ -31,6 +31,7 @@ #ifndef ZLIB_H #define ZLIB_H +#include "zsync_zlib_rename.h" #include "zconf.h" #ifdef __cplusplus diff --git a/c/zlib/zsync_zlib_rename.h b/c/zlib/zsync_zlib_rename.h new file mode 100644 index 0000000..63bc803 --- /dev/null +++ b/c/zlib/zsync_zlib_rename.h @@ -0,0 +1,49 @@ +/* Rename zlib symbols to avoid namespace pollution. */ + +#define deflateInit_ zsync__deflateInit_ +#define deflate zsync__deflate +#define deflateEnd zsync__deflateEnd +#define inflateInit_ zsync__inflateInit_ +#define inflate zsync__inflate +#define inflateEnd zsync__inflateEnd +#define deflateInit2_ zsync__deflateInit2_ +#define deflateSetDictionary zsync__deflateSetDictionary +#define deflateCopy zsync__deflateCopy +#define deflateReset zsync__deflateReset +#define deflatePrime zsync__deflatePrime +#define deflateParams zsync__deflateParams +#define deflateBound zsync__deflateBound +#define inflateInit2_ zsync__inflateInit2_ +#define inflateSetDictionary zsync__inflateSetDictionary +#define inflateSync zsync__inflateSync +#define inflateSyncPoint zsync__inflateSyncPoint +#define inflateCopy zsync__inflateCopy +#define inflateReset zsync__inflateReset +#define compress zsync__compress +#define compress2 zsync__compress2 +#define compressBound zsync__compressBound +#define uncompress zsync__uncompress +#define adler32 zsync__adler32 +#define crc32 zsync__crc32 +#define get_crc_table zsync__get_crc_table + +#define Byte zsync__Byte +#define uInt zsync__uInt +#define uLong zsync__uLong +#define Bytef zsync__Bytef +#define charf zsync__charf +#define intf zsync__intf +#define uIntf zsync__uIntf +#define uLongf zsync__uLongf +#define voidpf zsync__voidpf +#define voidp zsync__voidp + +#define inflate_advance zsync__inflate_advance +#define inflateSafePoint zsync__inflateSafePoint +#define updatewindow zsync__updatewindow +#define inflate_table zsync__inflate_table +#define zcalloc zsync__zcalloc +#define zcfree zsync__zcfree +#define zError zsync__zError +#define zlibCompileFlags zsync__zlibCompileFlags +#define zlibVersion zsync__zlibVersion