From 38d010eea048aed776fcea07e958883b18cea174 Mon Sep 17 00:00:00 2001 From: Bimba Shrestha Date: Fri, 31 Jan 2020 10:47:17 -0800 Subject: [PATCH] Adding static assert and using it in cli --- programs/zstdcli.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/programs/zstdcli.c b/programs/zstdcli.c index fed0a179..01be5fdc 100644 --- a/programs/zstdcli.c +++ b/programs/zstdcli.c @@ -544,7 +544,10 @@ static int init_cLevel(void) { return ZSTDCLI_CLEVEL_DEFAULT; } +#define ZSTD_CLI_STATIC_ASSERT(c) (void)sizeof(char[(c) ? 1 : -1]) + #define ZSTD_NB_STRATEGIES ZSTD_STRATEGY_MAX + static const char* ZSTD_strategyMap[ZSTD_NB_STRATEGIES + 1] = { "", "ZSTD_fast", "ZSTD_dfast", "ZSTD_greedy", "ZSTD_lazy", "ZSTD_lazy2", "ZSTD_btlazy2", "ZSTD_btopt", "ZSTD_btultra", "ZSTD_btultra2"}; @@ -1227,6 +1230,8 @@ int main(int const argCount, const char* argv[]) if (adaptMin > cLevel) cLevel = adaptMin; if (adaptMax < cLevel) cLevel = adaptMax; + ZSTD_CLI_STATIC_ASSERT(ZSTD_NB_STRATEGIES >= ZSTD_STRATEGY_MIN && ZSTD_NB_STRATEGIES <= ZSTD_STRATEGY_MAX); + if (showDefaultCParams) { size_t fileNb; for (fileNb = 0; fileNb < (size_t)filenames->tableSize; fileNb++) {