From dcbc5c5ecf6506b5ad55b98bbec910b29f011f14 Mon Sep 17 00:00:00 2001 From: Lukas Tribus Date: Mon, 12 Sep 2016 21:42:07 +0000 Subject: [PATCH] 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. --- 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 d4f2448ef1..33a3054b5b 100644 --- a/include/common/standard.h +++ b/include/common/standard.h @@ -1140,4 +1140,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 98a6a17ee6..6d0681c646 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -352,6 +352,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