From 1193df540e830db8039d86702825cd6beab76e12 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Mon, 9 May 2022 08:55:50 +0300 Subject: Added String tests and fixed operator+= with number --- src/Generic/String/String.cpp | 5 ++++- 1 file changed, 4 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 49c0b19..66e9ad4 100644 --- a/src/Generic/String/String.cpp +++ b/src/Generic/String/String.cpp @@ -63,7 +63,10 @@ String& String::operator+=(const char* str) { * Converts the number to a C-style string and then uses += to append it. */ String& String::operator+=(unsigned number) { - unsigned tempLen = number / 10 + 1; + unsigned tempLen = 0; + for (unsigned tmp = number; tmp > 0 || tempLen == 0; tmp /= 10) + tempLen++; + char* tmp = new char[tempLen + 1]; tmp[tempLen] = '\0'; for (unsigned i = tempLen - 1; i < tempLen; i--, number /= 10) -- cgit v1.3.1-23-gd82d