From 940262729da1feac972aab6b0346a01e8bc07382 Mon Sep 17 00:00:00 2001 From: "Alan M. Carroll" Date: Mon, 1 May 2023 16:23:04 -0500 Subject: [PATCH 1/2] Cleanup: remove ts::Buffer from ControlBase. --- proxy/ControlBase.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/proxy/ControlBase.cc b/proxy/ControlBase.cc index 36c8b938bcd..e32993fbe1e 100644 --- a/proxy/ControlBase.cc +++ b/proxy/ControlBase.cc @@ -28,6 +28,8 @@ * * ****************************************************************************/ +#include "swoc/MemSpan.h" + #include "tscore/ink_platform.h" #include "tscore/ink_defs.h" #include "tscore/ink_time.h" @@ -40,8 +42,6 @@ #include "ControlMatcher.h" #include "HdrUtils.h" -#include "tscore/TsBuffer.h" - #include /** Used for printing IP address. @@ -396,7 +396,7 @@ SchemeMod::make(char *value, const char **error) // This is a base class for all of the mods that have a // text string. struct TextMod : public ControlBase::Modifier { - ts::Buffer text; + swoc::MemSpan text; TextMod(); ~TextMod() override; @@ -424,11 +424,11 @@ void TextMod::set(const char *value) { free(this->text.data()); - this->text.set(ats_strdup(value), strlen(value)); + this->text.assign(ats_strdup(value), strlen(value)); } struct MultiTextMod : public ControlBase::Modifier { - std::vector text_vec; + std::vector> text_vec; MultiTextMod(); ~MultiTextMod() override; @@ -459,8 +459,8 @@ MultiTextMod::set(char *value) Tokenizer rangeTok(","); int num_tok = rangeTok.Initialize(value, SHARE_TOKS); for (int i = 0; i < num_tok; i++) { - ts::Buffer text; - text.set(ats_strdup(rangeTok[i]), strlen(rangeTok[i])); + swoc::MemSpan text; + text.assign(ats_strdup(rangeTok[i]), strlen(rangeTok[i])); this->text_vec.push_back(text); } } From 457c94075f0999ae3bcf5511d88c7001ecb788bf Mon Sep 17 00:00:00 2001 From: "Alan M. Carroll" Date: Mon, 1 May 2023 21:11:41 -0500 Subject: [PATCH 2/2] Tweak print formats. --- proxy/ControlBase.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/proxy/ControlBase.cc b/proxy/ControlBase.cc index e32993fbe1e..ea2fa014328 100644 --- a/proxy/ControlBase.cc +++ b/proxy/ControlBase.cc @@ -417,7 +417,7 @@ TextMod::~TextMod() void TextMod::print(FILE *f) const { - fprintf(f, "%s=%*s ", this->name(), static_cast(text.size()), text.data()); + fprintf(f, "%s=%.*s ", this->name(), static_cast(text.size()), text.data()); } void @@ -449,7 +449,7 @@ void MultiTextMod::print(FILE *f) const { for (auto text_iter : this->text_vec) { - fprintf(f, "%s=%*s ", this->name(), static_cast(text_iter.size()), text_iter.data()); + fprintf(f, "%s=%.*s ", this->name(), static_cast(text_iter.size()), text_iter.data()); } } @@ -576,7 +576,7 @@ SuffixMod::check(HttpRequestData *req) const const char *path = req->hdr->url_get()->path_get(&path_len); if (1 == static_cast(this->text_vec.size()) && 1 == static_cast(this->text_vec[0].size()) && - 0 == strcmp(this->text_vec[0].data(), "*")) { + this->text_vec[0][0] == '*') { return true; }