diff options
author | Martin Kiewitz | 2013-12-04 20:42:50 +0100 |
---|---|---|
committer | Martin Kiewitz | 2013-12-04 20:42:50 +0100 |
commit | eaf6367bb26b95af7e27ebbbb090664a3ad04e65 (patch) | |
tree | f4acee388f2591f0cfa0848aa337f9cca5733c0d /engines/wintermute/base/scriptables/script_ext_string.cpp | |
parent | 8bdffcb2fb7aefc96aa10fde1bebd372233cac9d (diff) | |
parent | 203f562d375ac5c7cc665c8feac4020f8de2a5ff (diff) | |
download | scummvm-rg350-eaf6367bb26b95af7e27ebbbb090664a3ad04e65.tar.gz scummvm-rg350-eaf6367bb26b95af7e27ebbbb090664a3ad04e65.tar.bz2 scummvm-rg350-eaf6367bb26b95af7e27ebbbb090664a3ad04e65.zip |
Merge branch 'master' of github.com:scummvm/scummvm
Diffstat (limited to 'engines/wintermute/base/scriptables/script_ext_string.cpp')
-rw-r--r-- | engines/wintermute/base/scriptables/script_ext_string.cpp | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/engines/wintermute/base/scriptables/script_ext_string.cpp b/engines/wintermute/base/scriptables/script_ext_string.cpp index b6d284442d..65bec03bc1 100644 --- a/engines/wintermute/base/scriptables/script_ext_string.cpp +++ b/engines/wintermute/base/scriptables/script_ext_string.cpp @@ -298,21 +298,13 @@ bool SXString::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack uint32 start = 0; for(uint32 i = 0; i < str.size() + 1; i++) { - char ch = str.c_str()[i]; - if(ch=='\0' || delims.contains(ch)) - { - char *part = new char[i - start + 1]; - if(i != start) { - Common::strlcpy(part, str.c_str() + start, i - start + 1); - part[i - start] = '\0'; + uint32 ch = str[i]; + if (ch =='\0' || delims.contains(ch)) { + if (i != start) { + parts.push_back(WideString(str.c_str() + start, i - start + 1)); } else { - part[0] = '\0'; + parts.push_back(WideString()); } - val = new ScValue(_gameRef, part); - array->push(val); - delete[] part; - delete val; - val = nullptr; start = i + 1; } } |