From 762da5f2df4587bf85ab585dc61e38457d72e67a Mon Sep 17 00:00:00 2001 From: Johan Wikman Date: Thu, 24 Nov 2016 09:39:25 +0200 Subject: [PATCH] Cache: Make everything C++ and rename some files --- server/modules/filter/cache/CMakeLists.txt | 2 +- .../filter/cache/{cache.cc => cachefilter.cc} | 2 +- .../filter/cache/{cache.h => cachefilter.h} | 0 .../modules/filter/cache/{rules.c => rules.cc} | 18 ++++++++++-------- .../filter/cache/{storage.c => storage.cc} | 0 .../modules/filter/cache/test/CMakeLists.txt | 2 +- .../cache/test/{testrules.c => testrules.cc} | 6 +++--- 7 files changed, 16 insertions(+), 14 deletions(-) rename server/modules/filter/cache/{cache.cc => cachefilter.cc} (99%) rename server/modules/filter/cache/{cache.h => cachefilter.h} (100%) rename server/modules/filter/cache/{rules.c => rules.cc} (99%) rename server/modules/filter/cache/{storage.c => storage.cc} (100%) rename server/modules/filter/cache/test/{testrules.c => testrules.cc} (98%) diff --git a/server/modules/filter/cache/CMakeLists.txt b/server/modules/filter/cache/CMakeLists.txt index 52566a844..2592217bd 100644 --- a/server/modules/filter/cache/CMakeLists.txt +++ b/server/modules/filter/cache/CMakeLists.txt @@ -1,5 +1,5 @@ if (JANSSON_FOUND) - add_library(cache SHARED cache.cc rules.c storage.c) + add_library(cache SHARED cachefilter.cc rules.cc storage.cc) target_link_libraries(cache maxscale-common jansson) set_target_properties(cache PROPERTIES VERSION "1.0.0") set_target_properties(cache PROPERTIES LINK_FLAGS -Wl,-z,defs) diff --git a/server/modules/filter/cache/cache.cc b/server/modules/filter/cache/cachefilter.cc similarity index 99% rename from server/modules/filter/cache/cache.cc rename to server/modules/filter/cache/cachefilter.cc index 093939db3..458a36060 100644 --- a/server/modules/filter/cache/cache.cc +++ b/server/modules/filter/cache/cachefilter.cc @@ -12,7 +12,7 @@ */ #define MXS_MODULE_NAME "cache" -#include "cache.h" +#include "cachefilter.h" #include #include #include diff --git a/server/modules/filter/cache/cache.h b/server/modules/filter/cache/cachefilter.h similarity index 100% rename from server/modules/filter/cache/cache.h rename to server/modules/filter/cache/cachefilter.h diff --git a/server/modules/filter/cache/rules.c b/server/modules/filter/cache/rules.cc similarity index 99% rename from server/modules/filter/cache/rules.c rename to server/modules/filter/cache/rules.cc index c4917aaa5..26d6ee95a 100644 --- a/server/modules/filter/cache/rules.c +++ b/server/modules/filter/cache/rules.cc @@ -20,7 +20,7 @@ #include #include #include -#include "cache.h" +#include "cachefilter.h" static const char KEY_ATTRIBUTE[] = "attribute"; static const char KEY_OP[] = "op"; @@ -41,8 +41,8 @@ static const char VALUE_OP_UNLIKE[] = "unlike"; struct cache_attribute_mapping { - const char* name; - int value; + const char* name; + cache_rule_attribute_t value; }; static struct cache_attribute_mapping cache_store_attributes[] = @@ -51,13 +51,13 @@ static struct cache_attribute_mapping cache_store_attributes[] = { VALUE_ATTRIBUTE_DATABASE, CACHE_ATTRIBUTE_DATABASE }, { VALUE_ATTRIBUTE_QUERY, CACHE_ATTRIBUTE_QUERY }, { VALUE_ATTRIBUTE_TABLE, CACHE_ATTRIBUTE_TABLE }, - { NULL, 0 } + { NULL, static_cast(0) } }; static struct cache_attribute_mapping cache_use_attributes[] = { { VALUE_ATTRIBUTE_USER, CACHE_ATTRIBUTE_USER }, - { NULL, 0 } + { NULL, static_cast(0) } }; static bool cache_rule_attribute_get(struct cache_attribute_mapping *mapping, @@ -567,6 +567,7 @@ static CACHE_RULE *cache_rule_create_simple_user(cache_rule_attribute_t attribut char *at = strchr(value, '@'); char *user = value; char *host; + char any[2]; // sizeof("%") if (at) { @@ -575,7 +576,8 @@ static CACHE_RULE *cache_rule_create_simple_user(cache_rule_attribute_t attribut } else { - host = "%"; + strcpy(any, "%"); + host = any; } if (dequote_mysql(user)) @@ -610,7 +612,7 @@ static CACHE_RULE *cache_rule_create_simple_user(cache_rule_attribute_t attribut // No wildcard, no need to use regexp. rule = (CACHE_RULE*)MXS_CALLOC(1, sizeof(CACHE_RULE)); - char *value = MXS_MALLOC(strlen(user) + 1 + strlen(host) + 1); + char *value = (char*)MXS_MALLOC(strlen(user) + 1 + strlen(host) + 1); if (rule && value) { @@ -827,7 +829,7 @@ static CACHE_RULE *cache_rule_create_simple_query(cache_rule_attribute_t attribu ss_dassert(attribute == CACHE_ATTRIBUTE_QUERY); ss_dassert((op == CACHE_OP_EQ) || (op == CACHE_OP_NEQ)); - CACHE_RULE *rule = MXS_CALLOC(1, sizeof(CACHE_RULE)); + CACHE_RULE *rule = (CACHE_RULE*)MXS_CALLOC(1, sizeof(CACHE_RULE)); char *value = MXS_STRDUP(cvalue); if (rule && value) diff --git a/server/modules/filter/cache/storage.c b/server/modules/filter/cache/storage.cc similarity index 100% rename from server/modules/filter/cache/storage.c rename to server/modules/filter/cache/storage.cc diff --git a/server/modules/filter/cache/test/CMakeLists.txt b/server/modules/filter/cache/test/CMakeLists.txt index 061d2323f..c2d8e3cf7 100644 --- a/server/modules/filter/cache/test/CMakeLists.txt +++ b/server/modules/filter/cache/test/CMakeLists.txt @@ -1,4 +1,4 @@ -add_executable(testrules testrules.c ../rules.c) +add_executable(testrules testrules.cc ../rules.cc) include_directories(..) target_link_libraries(testrules maxscale-common jansson) diff --git a/server/modules/filter/cache/test/testrules.c b/server/modules/filter/cache/test/testrules.cc similarity index 98% rename from server/modules/filter/cache/test/testrules.c rename to server/modules/filter/cache/test/testrules.cc index 71bee9956..c613305a8 100644 --- a/server/modules/filter/cache/test/testrules.c +++ b/server/modules/filter/cache/test/testrules.cc @@ -80,7 +80,7 @@ int test_user() { int errors = 0; - for (int i = 0; i < n_user_test_cases; ++i) + for (size_t i = 0; i < n_user_test_cases; ++i) { const struct user_test_case *test_case = &user_test_cases[i]; @@ -182,9 +182,9 @@ int test_store() { int errors = 0; - for (int i = 0; i < n_store_test_cases; ++i) + for (size_t i = 0; i < n_store_test_cases; ++i) { - printf("TC : %d\n", i + 1); + printf("TC : %d\n", (int)(i + 1)); const struct store_test_case *test_case = &store_test_cases[i]; CACHE_RULES *rules = cache_rules_parse(test_case->rule, 0);