diff --git a/FlippR-Driver/include/output/items/Display.h b/FlippR-Driver/include/output/items/Display.h index f769cdf..813b408 100644 --- a/FlippR-Driver/include/output/items/Display.h +++ b/FlippR-Driver/include/output/items/Display.h @@ -24,7 +24,7 @@ public: virtual ~Display() = default; virtual void write_score(uint64_t score) = 0; - virtual void write_content(std::string & content) = 0; + virtual void write_content(const std::string content) = 0; }; } diff --git a/FlippR-Driver/src/output/items/detail/Display.cpp b/FlippR-Driver/src/output/items/detail/Display.cpp index fa21baa..a4f94de 100644 --- a/FlippR-Driver/src/output/items/detail/Display.cpp +++ b/FlippR-Driver/src/output/items/detail/Display.cpp @@ -54,12 +54,13 @@ std::string Display::fit_score_string(std::string & score_string, const unsigned return score_string; } -void Display::write_content(std::string & content, const unsigned int & length) +void Display::write_content(const std::string content, const unsigned int & length) { if(content.size() > length) { CLOG(WARNING, OUTPUT_LOGGER) << "Cannot write more than " << length << " digits on " << length << "-Digit Display. Truncating!"; - content = content.substr(0, length); + this->content = content.substr(0, length); + return; } this->content = content; diff --git a/FlippR-Driver/src/output/items/detail/Display.h b/FlippR-Driver/src/output/items/detail/Display.h index f7233a8..bdc79e6 100644 --- a/FlippR-Driver/src/output/items/detail/Display.h +++ b/FlippR-Driver/src/output/items/detail/Display.h @@ -28,7 +28,7 @@ public: virtual ~Display() = default; void write_score(const uint64_t & score, const unsigned int & length); - void write_content(std::string & content, const unsigned int & length); + void write_content(const std::string content, const unsigned int & length); std::string get_content() const override; uint8_t get_address() const override; diff --git a/FlippR-Driver/src/output/items/detail/EightDigitDisplay.h b/FlippR-Driver/src/output/items/detail/EightDigitDisplay.h index f77cc77..e350181 100644 --- a/FlippR-Driver/src/output/items/detail/EightDigitDisplay.h +++ b/FlippR-Driver/src/output/items/detail/EightDigitDisplay.h @@ -36,7 +36,7 @@ public: detail::Display::write_score(score, 8); } - void write_content(std::string & content) override + void write_content(const std::string content) override { detail::Display::write_content(content, 8); } diff --git a/FlippR-Driver/src/output/items/detail/SevenDigitDisplay.h b/FlippR-Driver/src/output/items/detail/SevenDigitDisplay.h index 7c1054b..ca218ad 100644 --- a/FlippR-Driver/src/output/items/detail/SevenDigitDisplay.h +++ b/FlippR-Driver/src/output/items/detail/SevenDigitDisplay.h @@ -31,7 +31,7 @@ public: { detail::Display::write_score(score, 7); } - void write_content(std::string & content) override + void write_content(const std::string content) override { detail::Display::write_content(content, 7); }