diff options
Diffstat (limited to 'engines/cge2/bitmap.cpp')
-rw-r--r-- | engines/cge2/bitmap.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/engines/cge2/bitmap.cpp b/engines/cge2/bitmap.cpp index 93818c05bf..396610ad84 100644 --- a/engines/cge2/bitmap.cpp +++ b/engines/cge2/bitmap.cpp @@ -53,8 +53,8 @@ Bitmap::Bitmap(CGE2Engine *vm, const char *fname) : _v(nullptr), _b(nullptr), _m warning("Workaround for wrong VBM name: 11oqlist-"); } else strcpy(pat, fname); - - forceExt(pat, pat, ".VBM"); + + strcpy(pat, addExt(pat).c_str()); if (_vm->_resman->exist(pat)) { EncryptedStream file(_vm, pat); @@ -162,14 +162,12 @@ Bitmap &Bitmap::operator=(const Bitmap &bmp) { return *this; } -char *Bitmap::forceExt(char *buf, const char *name, const char *ext) { - strcpy(buf, name); - char *dot = strrchr(buf, '.'); - if (dot) - *dot = '\0'; - strcat(buf, ext); - - return buf; +Common::String Bitmap::addExt(const char *name) { + Common::String fname; + fname = Common::String::format("%s.VBM", name); + if (fname.size() >= kMaxPath) + error("Bitmap's filename is too long %s", name); + return fname; } BitmapPtr Bitmap::code(uint8 *map) { |