diff --git a/MString.cpp b/MString.cpp index bc56a65..f915461 100644 --- a/MString.cpp +++ b/MString.cpp @@ -37,6 +37,12 @@ namespace coreutils { memcpy(this->data, data, length); cursor = this->data; } + + MString::MString(ZString zstring) { + setSize(zstring.getLength()); + memcpy(data, zstring.getData(), zstring.getLength()); + cursor = data; + } MString::MString(const MString &mstring) { setSize(mstring.length); diff --git a/MString.h b/MString.h index 41bf47d..b24ae93 100644 --- a/MString.h +++ b/MString.h @@ -40,6 +40,8 @@ namespace coreutils MString(const char *data, size_t length); MString(const unsigned char *data, size_t length); + + MString (ZString zstring); /// /// Consructor providing a copy of a ZString. diff --git a/testing/jstring_test b/testing/jstring_test index 4854818..0d335f1 100755 Binary files a/testing/jstring_test and b/testing/jstring_test differ diff --git a/testing/mstring_test b/testing/mstring_test index a38adc3..5379889 100755 Binary files a/testing/mstring_test and b/testing/mstring_test differ diff --git a/testing/mstring_test.cpp b/testing/mstring_test.cpp index fdf41e6..6a9987c 100644 --- a/testing/mstring_test.cpp +++ b/testing/mstring_test.cpp @@ -27,6 +27,8 @@ int main(int argc, char **argv) { coreutils::ZString test7("zstring data"); coreutils::MString test4; + coreutils::MString test5 = test7; + std::cout << "coreutils::MString test5 = test7: [" << test5 << "]" << std::endl; test4 << "this is a test." << test7; std::cout << "char* operator<<: [" << test4 << "]." << std::endl; diff --git a/testing/zstring_test b/testing/zstring_test index 4fc5ae8..d17a325 100755 Binary files a/testing/zstring_test and b/testing/zstring_test differ