From 8b1c7950a21b5862236e6f6932eeda7cacaa4655 Mon Sep 17 00:00:00 2001 From: Costa Tsaousis Date: Sat, 16 Jul 2022 11:40:45 +0300 Subject: allow merging of families down to [x] --- database/rrdcontext.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/database/rrdcontext.c b/database/rrdcontext.c index bf9731e75b..84d35ea27a 100644 --- a/database/rrdcontext.c +++ b/database/rrdcontext.c @@ -1364,20 +1364,22 @@ static void rrdcontext_delete_callback(const char *id, void *value, void *data) } static STRING *string_2way_merge(RRDCONTEXT *rc __maybe_unused, STRING *a, STRING *b) { - static STRING *X = NULL, *X2 = NULL; + static STRING *X = NULL; if(unlikely(!X)) { - X = string_strdupz("X"); - X2 = string_strdupz("[x]"); + // initialization + X = string_strdupz("[x]"); } if(unlikely(a == b)) return string_dup(a); - if(unlikely(!a || a == X || a == X2)) return string_dup(b); - if(unlikely(!b || b == X || b == X2)) return string_dup(a); + if(unlikely(a == X)) return string_dup(a); + if(unlikely(b == X)) return string_dup(b); + if(unlikely(!a)) return string_dup(X); + if(unlikely(!b)) return string_dup(X); size_t alen = string_length(a); size_t blen = string_length(b); - size_t length = alen + blen + string_length(X2) + 1; + size_t length = alen + blen + string_length(X) + 1; char buf1[length + 1], buf2[length + 1], *dst1, *dst2; const char *s1, *s2; @@ -1404,9 +1406,6 @@ static STRING *string_2way_merge(RRDCONTEXT *rc __maybe_unused, STRING *a, STRIN strcpy(dst1, dst2); } - if(strcmp(buf1, string2str(X2)) == 0) - return string_dup(a); - return string_strdupz(buf1); } -- cgit v1.2.3