From b491007eac3cea1133993a44309ba171ef5c2770 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Tue, 13 Dec 2022 15:07:35 +0200 Subject: [PATCH] BAN: Default constructed string is now nullterminated --- BAN/include/BAN/String.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/BAN/include/BAN/String.h b/BAN/include/BAN/String.h index 2d0da4c9e..7937240eb 100644 --- a/BAN/include/BAN/String.h +++ b/BAN/include/BAN/String.h @@ -17,7 +17,7 @@ namespace BAN using size_type = size_t; public: - String() = default; + String(); String(const char*); ~String(); @@ -35,6 +35,7 @@ namespace BAN ErrorOr Resize(size_type, char = '\0'); ErrorOr Reserve(size_type); + bool Empty() const; size_type Size() const; size_type Capasity() const; @@ -49,6 +50,13 @@ namespace BAN size_type m_size = 0; }; + String::String() + { + MUST(EnsureCapasity(1)); + m_data[0] = '\0'; + m_size = 0; + } + String::String(const char* string) { size_type len = strlen(string); @@ -151,6 +159,11 @@ namespace BAN return {}; } + bool String::Empty() const + { + return m_size == 0; + } + String::size_type String::Size() const { return m_size;