mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
Fix zlib macro brokenness on osx with zlib 1.2.4 and higher.
From the code: zlib 1.2.4 and 1.2.5 do some "clever" things with macros. Instead of saying "(defined(FOO) ? FOO : 0)" they like to say "FOO-0", on the theory that nobody will care if the compile outputs a no-such-identifier warning. Sorry, but we like -Werror over here, so I guess we need to define these. I hope that zlib 1.2.6 doesn't break these too. Possible fix for bug 1526.
This commit is contained in:
parent
ee545cd4cb
commit
c5a3664f27
3
changes/bug1526
Normal file
3
changes/bug1526
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
o Minor bugfixes:
|
||||||
|
- Build correctly on OSX with zlib 1.2.4 and higher with all warnings
|
||||||
|
enabled.
|
@ -13,20 +13,42 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#ifdef _MSC_VER
|
|
||||||
#include "..\..\contrib\zlib\zlib.h"
|
|
||||||
#else
|
|
||||||
#include <zlib.h>
|
|
||||||
#endif
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#ifdef HAVE_NETINET_IN_H
|
#ifdef HAVE_NETINET_IN_H
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "torint.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "torgzip.h"
|
#include "torgzip.h"
|
||||||
|
|
||||||
|
/* zlib 1.2.4 and 1.2.5 do some "clever" things with macros. Instead of
|
||||||
|
saying "(defined(FOO) ? FOO : 0)" they like to say "FOO-0", on the theory
|
||||||
|
that nobody will care if the compile outputs a no-such-identifier warning.
|
||||||
|
|
||||||
|
Sorry, but we like -Werror over here, so I guess we need to define these.
|
||||||
|
I hope that zlib 1.2.6 doesn't break these too.
|
||||||
|
*/
|
||||||
|
#ifndef _LARGEFILE64_SOURCE
|
||||||
|
#define _LARGEFILE64_SOURCE 0
|
||||||
|
#endif
|
||||||
|
#ifndef _LFS64_LARGEFILE
|
||||||
|
#define _LFS64_LARGEFILE 0
|
||||||
|
#endif
|
||||||
|
#ifndef _FILE_OFFSET_BITS
|
||||||
|
#define _FILE_OFFSET_BITS 0
|
||||||
|
#endif
|
||||||
|
#ifndef off64_t
|
||||||
|
#define off64_t int64_t
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#include "..\..\contrib\zlib\zlib.h"
|
||||||
|
#else
|
||||||
|
#include <zlib.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Set to 1 if zlib is a version that supports gzip; set to 0 if it doesn't;
|
/** Set to 1 if zlib is a version that supports gzip; set to 0 if it doesn't;
|
||||||
* set to -1 if we haven't checked yet. */
|
* set to -1 if we haven't checked yet. */
|
||||||
static int gzip_is_supported = -1;
|
static int gzip_is_supported = -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user