diff options
author | Kamil Zbróg | 2013-11-04 11:40:22 +0000 |
---|---|---|
committer | Kamil Zbróg | 2013-11-04 11:40:22 +0000 |
commit | 85694ec1f5793eb4025f4153ef4bf71d3769d699 (patch) | |
tree | c93fab58eb2f52eca244895a9867d28134dbd7f5 /engines/sci/console.cpp | |
parent | 026390145b0e947be7cccf3d9ba329eb2270a2ed (diff) | |
parent | 9dc35033f523c9c694f24e15ed45ba6194786a25 (diff) | |
download | scummvm-rg350-85694ec1f5793eb4025f4153ef4bf71d3769d699.tar.gz scummvm-rg350-85694ec1f5793eb4025f4153ef4bf71d3769d699.tar.bz2 scummvm-rg350-85694ec1f5793eb4025f4153ef4bf71d3769d699.zip |
Merge remote-tracking branch 'own/prince' into prince-malik
Conflicts:
engines/prince/debugger.cpp
engines/prince/debugger.h
engines/prince/detection.cpp
engines/prince/font.cpp
engines/prince/graphics.cpp
engines/prince/prince.cpp
engines/prince/prince.h
engines/prince/script.cpp
engines/prince/script.h
Diffstat (limited to 'engines/sci/console.cpp')
-rw-r--r-- | engines/sci/console.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp index 50fae61de0..80d8ab8257 100644 --- a/engines/sci/console.cpp +++ b/engines/sci/console.cpp @@ -3840,10 +3840,15 @@ static int parse_reg_t(EngineState *s, const char *str, reg_t *dest, bool mayBeV const char *tmp = Common::find(str_objname.begin(), str_objname.end(), '.'); if (tmp != str_objname.end()) { index = strtol(tmp + 1, &endptr, 16); - if (*endptr) - return -1; - // Chop off the index - str_objname = Common::String(str_objname.c_str(), tmp); + if (*endptr) { + // The characters after the dot do not represent an index. + // This can happen if an object contains a dot in its name, + // like 'dominoes.opt' in Hoyle 3. + index = -1; + } else { + // Valid index found, chop it off + str_objname = Common::String(str_objname.c_str(), tmp); + } } // Replace all underscores in the name with spaces |