From dcdd2ae7d6809f45c5f6bbe2ba6fe9c70802bb42 Mon Sep 17 00:00:00 2001 From: Lukas Tribus Date: Mon, 12 Sep 2016 21:42:07 +0000 Subject: [PATCH 03/26] MINOR: show Built with PCRE version Inspired by PCRE's pcre_version.c and improved with Willy's suggestions. Reusable parts have been added to include/common/standard.h. (cherry picked from commit dcbc5c5ecf6506b5ad55b98bbec910b29f011f14) --- include/common/standard.h | 9 +++++++++ src/haproxy.c | 3 +++ 2 files changed, 12 insertions(+) diff --git a/include/common/standard.h b/include/common/standard.h index 6098550..26a52ff 100644 --- a/include/common/standard.h +++ b/include/common/standard.h @@ -1065,4 +1065,13 @@ static inline void *my_realloc2(void *ptr, size_t size) return ret; } +/* HAP_STRING() makes a string from a literal while HAP_XSTRING() first + * evaluates the argument and is suited to pass macros. + * + * They allow macros like PCRE_MAJOR to be defined without quotes, which + * is convenient for applications that want to test its value. + */ +#define HAP_STRING(...) #__VA_ARGS__ +#define HAP_XSTRING(...) HAP_STRING(__VA_ARGS__) + #endif /* _COMMON_STANDARD_H */ diff --git a/src/haproxy.c b/src/haproxy.c index 44d32b9..37d700b 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -347,6 +347,9 @@ void display_build_opts() #endif #ifdef USE_PCRE + printf("Built with PCRE version : %s\n", (HAP_XSTRING(Z PCRE_PRERELEASE)[1] == 0)? + HAP_XSTRING(PCRE_MAJOR.PCRE_MINOR PCRE_DATE) : + HAP_XSTRING(PCRE_MAJOR.PCRE_MINOR) HAP_XSTRING(PCRE_PRERELEASE PCRE_DATE)); printf("Running on PCRE version : %s", pcre_version()); printf("\nPCRE library supports JIT : "); #ifdef USE_PCRE_JIT -- 2.7.3