aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/true_talk/tt_string.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2016-05-18 20:46:16 -0400
committerPaul Gilbert2016-07-15 19:13:07 -0400
commitf7b8a870659cf3aeb571d865506a08893b1acb58 (patch)
tree78058d4e6fde0488568678b011afc908863fd3e3 /engines/titanic/true_talk/tt_string.cpp
parent2b9fcd2cdaa537d79310915a69c48fab0b4ae105 (diff)
downloadscummvm-rg350-f7b8a870659cf3aeb571d865506a08893b1acb58.tar.gz
scummvm-rg350-f7b8a870659cf3aeb571d865506a08893b1acb58.tar.bz2
scummvm-rg350-f7b8a870659cf3aeb571d865506a08893b1acb58.zip
TITANIC: Added TTstring deletePrefix
Diffstat (limited to 'engines/titanic/true_talk/tt_string.cpp')
-rw-r--r--engines/titanic/true_talk/tt_string.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/engines/titanic/true_talk/tt_string.cpp b/engines/titanic/true_talk/tt_string.cpp
index df93a5669c..76c109284a 100644
--- a/engines/titanic/true_talk/tt_string.cpp
+++ b/engines/titanic/true_talk/tt_string.cpp
@@ -122,4 +122,21 @@ TTstring TTstring::tokenize(const char *delim) {
}
}
+int TTstring::deletePrefix(int count) {
+ int strSize = size();
+ if (count > strSize)
+ count = strSize;
+
+ if (_data->_referenceCount == 1) {
+ // No other references to this string, so we can just directly modify it
+ _data->_string = CString(_data->_string.c_str() + count);
+ } else {
+ // Detach string from current shared data, and create a new one with the substring
+ _data->_referenceCount--;
+ _data = new TTstringData(_data->_string.c_str() + count);
+ }
+
+ return 1;
+}
+
} // End of namespace Titanic