diff options
| author | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-07-04 16:23:57 +0200 |
|---|---|---|
| committer | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-07-04 16:23:57 +0200 |
| commit | 0495962407af7f89b72e41c8b099cfba51d68e08 (patch) | |
| tree | 249b0eadef2c6e972acd9750c822cfad50cde479 /Sources/String.cc | |
| parent | 12f3049c5eda64c8ced549e23ac1a22f04bc702f (diff) | |
MHR-36: Finishing C++ compiler
Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Sources/String.cc')
| -rw-r--r-- | Sources/String.cc | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/Sources/String.cc b/Sources/String.cc index 5a8f3ed..c7185ca 100644 --- a/Sources/String.cc +++ b/Sources/String.cc @@ -19,7 +19,6 @@ */ #include <Comm/StdKit/String.hpp> -#include <utility> namespace CompilerKit { CharType *StringView::Data() { return m_Data; } @@ -80,10 +79,13 @@ StringView StringBuilder::Construct(const CharType *data) { const char *StringBuilder::FromInt(const char *fmt, int i) { if (!fmt) return ("-1"); - char *ret = new char[8 + string_length(fmt)]; + auto ret_len = 8 + string_length(fmt); + char *ret = new char[ret_len]; if (!ret) return ("-1"); + memset(ret, 0, ret_len); + CharType result[8]; if (!to_str(result, sizeof(int), i)) { delete[] ret; @@ -150,18 +152,18 @@ bool StringBuilder::Equals(const char *lhs, const char *rhs) { return true; } -const char *StringBuilder::Format(const char *fmt, const char *fmt2) { - if (!fmt || !fmt2) return ("?"); +const char *StringBuilder::Format(const char *fmt, const char *fmtRight) { + if (!fmt || !fmtRight) return ("?"); - char *ret = new char[string_length(fmt2) + string_length(fmt2)]; + char *ret = new char[string_length(fmtRight) + string_length(fmtRight)]; if (!ret) return ("?"); for (SizeType idx = 0; idx < string_length(fmt); ++idx) { if (fmt[idx] == '%') { SizeType result_cnt = idx; - for (SizeType y_idx = 0; y_idx < string_length(fmt2); ++y_idx) { - ret[result_cnt] = fmt2[y_idx]; + for (SizeType y_idx = 0; y_idx < string_length(fmtRight); ++y_idx) { + ret[result_cnt] = fmtRight[y_idx]; ++result_cnt; } |
