Index: compiled/String.h |
=================================================================== |
--- a/compiled/String.h |
+++ b/compiled/String.h |
@@ -276,17 +276,17 @@ |
OwnedString newValue(length() + additionalSize); |
if (length() > 0) |
std::memcpy(newValue.mBuf, mBuf, sizeof(value_type) * length()); |
*this = std::move(newValue); |
} |
public: |
explicit OwnedString(size_type len = 0) |
- : String(nullptr, len, READ_WRITE) |
+ : String(nullptr, len, len ? READ_WRITE : INVALID) |
{ |
if (len) |
{ |
mBuf = new value_type[length()]; |
annotate_address(mBuf, "String"); |
} |
else |
mBuf = nullptr; |
@@ -319,16 +319,21 @@ |
} |
~OwnedString() |
{ |
if (mBuf) |
delete[] mBuf; |
} |
+ void reset(const String& str) |
+ { |
+ *this = str; |
+ } |
+ |
OwnedString& operator=(const String& str) |
{ |
*this = OwnedString(str); |
return *this; |
} |
OwnedString& operator=(const OwnedString& str) |
{ |