From e0a2676d542f33f2a17ae3332738b9df971cc343 Mon Sep 17 00:00:00 2001
From: Gary Talent <gtalent2@gmail.com>
Date: Sun, 15 Mar 2020 14:31:43 -0500
Subject: [PATCH] [ox/std] Add String::operator=(const String&)

---
 deps/ox/src/ox/std/string.cpp | 16 ++++++++++------
 deps/ox/src/ox/std/string.hpp |  2 ++
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/deps/ox/src/ox/std/string.cpp b/deps/ox/src/ox/std/string.cpp
index 59ef281e..ec4918fb 100644
--- a/deps/ox/src/ox/std/string.cpp
+++ b/deps/ox/src/ox/std/string.cpp
@@ -24,12 +24,6 @@ String::String(const char *str) noexcept {
 	*this = str;
 }
 
-const String &String::operator=(int64_t i) noexcept {
-	char str[65] = {};
-	ox_itoa(i, str);
-	return this->operator=(str);
-}
-
 const String &String::operator=(const char *str) noexcept {
 	std::size_t strLen = ox_strlen(str) + 1;
 	m_buff.resize(strLen + 1);
@@ -43,6 +37,16 @@ const String &String::operator=(char *str) noexcept {
 	return *this = static_cast<const char*>(str);
 }
 
+const String &String::operator=(int64_t i) noexcept {
+	char str[65] = {};
+	ox_itoa(i, str);
+	return this->operator=(str);
+}
+
+const String &String::operator=(const String &src) noexcept {
+	return *this = src.c_str();
+}
+
 const String &String::operator+=(const char *str) noexcept {
 	std::size_t strLen = ox_strlen(str);
 	auto currentLen = len();
diff --git a/deps/ox/src/ox/std/string.hpp b/deps/ox/src/ox/std/string.hpp
index 3a319949..1f8eddd1 100644
--- a/deps/ox/src/ox/std/string.hpp
+++ b/deps/ox/src/ox/std/string.hpp
@@ -33,6 +33,8 @@ class String {
 
 		const String &operator=(int64_t i) noexcept;
 
+		const String &operator=(const String &src) noexcept;
+
 		const String &operator+=(const char *str) noexcept;
 
 		const String &operator+=(char *str) noexcept;