[Scummvm-cvs-logs] SF.net SVN: scummvm:[51025] scummvm/trunk/engines/sci/parser/vocabulary.cpp

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Mon Jul 19 13:41:21 CEST 2010


Revision: 51025
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51025&view=rev
Author:   m_kiewitz
Date:     2010-07-19 11:41:20 +0000 (Mon, 19 Jul 2010)

Log Message:
-----------
SCI: fix parser crash on >=0x80 chars

Modified Paths:
--------------
    scummvm/trunk/engines/sci/parser/vocabulary.cpp

Modified: scummvm/trunk/engines/sci/parser/vocabulary.cpp
===================================================================
--- scummvm/trunk/engines/sci/parser/vocabulary.cpp	2010-07-19 10:38:03 UTC (rev 51024)
+++ scummvm/trunk/engines/sci/parser/vocabulary.cpp	2010-07-19 11:41:20 UTC (rev 51025)
@@ -376,7 +376,7 @@
 bool Vocabulary::tokenizeString(ResultWordList &retval, const char *sentence, char **error) {
 	const char *lastword = sentence;
 	int pos_in_sentence = 0;
-	char c;
+	unsigned char c;
 	int wordlen = 0;
 
 	*error = NULL;
@@ -385,7 +385,7 @@
 
 		c = sentence[pos_in_sentence++];
 
-		if (isalnum(c) || (c == '-' && wordlen))
+		if (isalnum(c) || (c == '-' && wordlen) || (c >= 0x80))
 			++wordlen;
 		// Continue on this word */
 		// Words may contain a '-', but may not


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list