From d774bd68d5e068b5db6e81c2dbad6e0dd2db00c1 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 7 May 2022 10:37:34 +0300 Subject: Autocommit at 07.05.2022 @ 10:37 --- src/Generic/String/String.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/Generic/String/String.cpp') diff --git a/src/Generic/String/String.cpp b/src/Generic/String/String.cpp index 055f48e..b1e2889 100644 --- a/src/Generic/String/String.cpp +++ b/src/Generic/String/String.cpp @@ -18,13 +18,25 @@ void String::copyFrom(const String& other) { String::String(const char* str) { length = strlen(str) + 1; // capture terminating zero this->str = new char[length]; - strcpy(this->str, str); + strncpy(this->str, str, length); } const char* String::get_cstr() const { return str; } +String& String::operator+=(const String& other) { + char* newStr = new char[length + other.length + 1]; + strncpy(newStr, str, length); + strncat(newStr, other.str, other.length + 1); + + delete[] str; + str = newStr; + length += other.length; + + return *this; +} + String::String() : String("") {} String::String(const String& other) { -- cgit v1.3.1-23-gd82d