diff options
-rw-r--r-- | engines/sci/parser/vocabulary.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/engines/sci/parser/vocabulary.cpp b/engines/sci/parser/vocabulary.cpp index 3344b79e26..7fc02dc9a0 100644 --- a/engines/sci/parser/vocabulary.cpp +++ b/engines/sci/parser/vocabulary.cpp @@ -535,9 +535,9 @@ bool Vocabulary::tokenizeString(ResultWordListList &retval, const char *sentence if (Common::isAlnum(c) || (c == '-' && wordLen) || (c >= 0x80)) { currentWord[wordLen] = lowerCaseMap[c]; ++wordLen; - } else if (c == '\'' && wordLen && (sentence[pos_in_sentence] == 's' || sentence[pos_in_sentence] == 'S')) { - // Skip apostrophe-s at the end of the word, if it exists - pos_in_sentence++; // skip the 's' + } else if (!Common::isAlpha(c) && c != '-' && c != ' ' && c != '\0' && (g_sci->getLanguage() != Common::JA_JPN)) { + // Skip non-alphanumeric characters in the string. + // Note: hyphens ('-'), spaces and string terminators are handled in the other branches. } else { // Continue on this word. Words may contain a '-', but may not start with // one. |