mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-20 10:12:15 +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
2f67ef58b7
commit
1a52e39c22
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 <stdio.h>
|
||||
#include <assert.h>
|
||||
#ifdef _MSC_VER
|
||||
#include "..\..\contrib\zlib\zlib.h"
|
||||
#else
|
||||
#include <zlib.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
#ifdef HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
|
||||
#include "torint.h"
|
||||
#include "util.h"
|
||||
#include "log.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 we haven't checked yet. */
|
||||
static int gzip_is_supported = -1;
|
||||
|
Loading…
Reference in New Issue
Block a user