From 39c55a118f778c6120cdfca40689a7411ce9e6a4 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Thu, 30 Aug 2018 15:54:14 -0700 Subject: [PATCH] fixed minor compatibility issues with older compilers --- contrib/largeNbDicts/Makefile | 2 +- contrib/largeNbDicts/largeNbDicts.c | 5 ++--- programs/util.h | 10 ++++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/contrib/largeNbDicts/Makefile b/contrib/largeNbDicts/Makefile index 0514e3d82..05b54fd35 100644 --- a/contrib/largeNbDicts/Makefile +++ b/contrib/largeNbDicts/Makefile @@ -15,7 +15,7 @@ LIBZSTD = $(LIBDIR)/libzstd.a CPPFLAGS+= -I$(LIBDIR) -I$(LIBDIR)/common -I$(LIBDIR)/dictBuilder -I$(PROGDIR) CFLAGS ?= -O3 -CFLAGS += -std=c99 +CFLAGS += -std=gnu99 DEBUGFLAGS= -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \ -Wstrict-aliasing=1 -Wswitch-enum \ -Wstrict-prototypes -Wundef -Wpointer-arith -Wformat-security \ diff --git a/contrib/largeNbDicts/largeNbDicts.c b/contrib/largeNbDicts/largeNbDicts.c index 5b982bd42..0c5f89a8e 100644 --- a/contrib/largeNbDicts/largeNbDicts.c +++ b/contrib/largeNbDicts/largeNbDicts.c @@ -50,6 +50,8 @@ /*--- Macros ---*/ #define CONTROL(c) assert(c) +#undef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) /*--- Display Macros ---*/ @@ -472,9 +474,6 @@ static size_t compressBlocks(size_t* cSizes, /* optional (can be NULL). If pre /* --- Benchmark --- */ -typedef size_t (*BMK_benchFn_t)(const void* src, size_t srcSize, void* dst, size_t dstCapacity, void* customPayload); -typedef size_t (*BMK_initFn_t)(void* initPayload); - typedef struct { ZSTD_DCtx* dctx; size_t nbDicts; diff --git a/programs/util.h b/programs/util.h index 76000d991..88d048409 100644 --- a/programs/util.h +++ b/programs/util.h @@ -319,15 +319,17 @@ UTIL_STATIC U32 UTIL_isDirectory(const char* infilename) UTIL_STATIC U32 UTIL_isLink(const char* infilename) { -#if defined(_WIN32) - /* no symlinks on windows */ - (void)infilename; -#else +/* macro guards, as defined in : https://linux.die.net/man/2/lstat */ +#if defined(_BSD_SOURCE) \ + || (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)) \ + || (defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED)) \ + || (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L)) int r; stat_t statbuf; r = lstat(infilename, &statbuf); if (!r && S_ISLNK(statbuf.st_mode)) return 1; #endif + (void)infilename; return 0; }