diff options
author | Filippos Karapetis | 2017-03-22 04:11:49 +0200 |
---|---|---|
committer | Filippos Karapetis | 2017-03-22 04:11:49 +0200 |
commit | f3e81b5f17872186f7c67a551876dd78f268865c (patch) | |
tree | 3465c6ec7a4664cee4b7e893e8e0e0d3c5845603 /engines/fullpipe/utils.cpp | |
parent | 728b23af2ad939e3da920a41b85730689a1aa71f (diff) | |
download | scummvm-rg350-f3e81b5f17872186f7c67a551876dd78f268865c.tar.gz scummvm-rg350-f3e81b5f17872186f7c67a551876dd78f268865c.tar.bz2 scummvm-rg350-f3e81b5f17872186f7c67a551876dd78f268865c.zip |
FULLPIPE: Use Common::String in all scene object names
Diffstat (limited to 'engines/fullpipe/utils.cpp')
-rw-r--r-- | engines/fullpipe/utils.cpp | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/engines/fullpipe/utils.cpp b/engines/fullpipe/utils.cpp index d06354cb91..689491d11d 100644 --- a/engines/fullpipe/utils.cpp +++ b/engines/fullpipe/utils.cpp @@ -92,9 +92,10 @@ bool DWordArray::load(MfcArchive &file) { return true; } -char *MfcArchive::readPascalString(bool twoByte) { +Common::String MfcArchive::readPascalString(bool twoByte) { char *tmp; int len; + Common::String result; if (twoByte) len = readUint16LE(); @@ -103,21 +104,23 @@ char *MfcArchive::readPascalString(bool twoByte) { tmp = (char *)calloc(len + 1, 1); read(tmp, len); + result = tmp; + free(tmp); - debugC(9, kDebugLoading, "readPascalString: %d <%s>", len, transCyrillic(tmp)); + debugC(9, kDebugLoading, "readPascalString: %d <%s>", len, transCyrillic(result)); - return tmp; + return result; } -void MfcArchive::writePascalString(const char *str, bool twoByte) { - int len = strlen(str); +void MfcArchive::writePascalString(Common::String str, bool twoByte) { + int len = str.size(); if (twoByte) writeUint16LE(len); else writeByte(len); - write(str, len); + write(str.c_str(), len); } MemoryObject::MemoryObject() { @@ -388,7 +391,7 @@ CObject *MfcArchive::readClass() { } CObject *MfcArchive::parseClass(bool *isCopyReturned) { - char *name; + Common::String name; int objectId = 0; CObject *res = 0; @@ -404,13 +407,13 @@ CObject *MfcArchive::parseClass(bool *isCopyReturned) { debugC(7, kDebugLoading, "parseClass::schema = %d", schema); name = readPascalString(true); - debugC(7, kDebugLoading, "parseClass::class <%s>", name); + debugC(7, kDebugLoading, "parseClass::class <%s>", name.c_str()); - if (!_classMap.contains(name)) { - error("Unknown class in MfcArchive: <%s>", name); + if (!_classMap.contains(name.c_str())) { + error("Unknown class in MfcArchive: <%s>", name.c_str()); } - objectId = _classMap[name]; + objectId = _classMap[name.c_str()]; debugC(7, kDebugLoading, "tag: %d 0x%x (%x)", _objectMap.size() - 1, _objectMap.size() - 1, objectId); |