[Scummvm-cvs-logs] SF.net SVN: scummvm:[38656] scummvm/trunk/engines/sci
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Sat Feb 21 04:32:14 CET 2009
Revision: 38656
http://scummvm.svn.sourceforge.net/scummvm/?rev=38656&view=rev
Author: fingolfin
Date: 2009-02-21 03:32:13 +0000 (Sat, 21 Feb 2009)
Log Message:
-----------
SCI: Fixed more warnings
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/said.cpp
scummvm/trunk/engines/sci/engine/said.y
scummvm/trunk/engines/sci/exereader.cpp
Modified: scummvm/trunk/engines/sci/engine/said.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/said.cpp 2009-02-21 03:25:23 UTC (rev 38655)
+++ scummvm/trunk/engines/sci/engine/said.cpp 2009-02-21 03:32:13 UTC (rev 38656)
@@ -189,7 +189,7 @@
yylex(void);
static int
-yyerror(char *s) {
+yyerror(const char *s) {
said_parse_error = sci_strdup(s);
return 1; /* Abort */
}
@@ -1844,8 +1844,12 @@
return retval;
}
-#define SAID_NEXT_NODE ((said_tree_pos == 0) || (said_tree_pos >= VOCAB_TREE_NODES)) ? said_tree_pos = 0 : said_tree_pos++
+static inline int said_next_node() {
+ return ((said_tree_pos == 0) || (said_tree_pos >= VOCAB_TREE_NODES)) ? said_tree_pos = 0 : said_tree_pos++;
+}
+#define SAID_NEXT_NODE said_next_node()
+
static inline int said_leaf_node(tree_t pos, int value) {
said_tree[pos].type = PARSE_TREE_NODE_LEAF;
Modified: scummvm/trunk/engines/sci/engine/said.y
===================================================================
--- scummvm/trunk/engines/sci/engine/said.y 2009-02-21 03:25:23 UTC (rev 38655)
+++ scummvm/trunk/engines/sci/engine/said.y 2009-02-21 03:32:13 UTC (rev 38656)
@@ -92,7 +92,7 @@
static int yylex(void);
-static int yyerror(char *s) {
+static int yyerror(const char *s) {
said_parse_error = sci_strdup(s);
return 1; /* Abort */
}
@@ -258,8 +258,12 @@
return retval;
}
-#define SAID_NEXT_NODE ((said_tree_pos == 0) || (said_tree_pos >= VOCAB_TREE_NODES)) ? said_tree_pos = 0 : said_tree_pos++
+static inline int said_next_node() {
+ return ((said_tree_pos == 0) || (said_tree_pos >= VOCAB_TREE_NODES)) ? said_tree_pos = 0 : said_tree_pos++;
+}
+#define SAID_NEXT_NODE said_next_node()
+
static inline int said_leaf_node(tree_t pos, int value) {
said_tree[pos].type = PARSE_TREE_NODE_LEAF;
@@ -300,8 +304,16 @@
static tree_t said_aug_branch(int n1, int n2, tree_t t1, tree_t t2) {
int retval;
- retval = said_branch_node(SAID_NEXT_NODE, said_branch_node(SAID_NEXT_NODE, said_leaf_node(SAID_NEXT_NODE, n1),
- said_branch_node(SAID_NEXT_NODE, said_leaf_node(SAID_NEXT_NODE, n2), t1)), t2);
+ // FIXME: The following code is ambiguous and *not* safely portable,
+ // due to the way the SAID_NEXT_NODE macro is implemented
+ retval = said_branch_node(SAID_NEXT_NODE,
+ said_branch_node(SAID_NEXT_NODE,
+ said_leaf_node(SAID_NEXT_NODE, n1),
+ said_branch_node(SAID_NEXT_NODE,
+ said_leaf_node(SAID_NEXT_NODE, n2),
+ t1)
+ ),
+ t2);
#ifdef SAID_DEBUG
fprintf(stderr, "AUG(0x%x, 0x%x, [%04x], [%04x]) = [%04x]\n", n1, n2, t1, t2, retval);
Modified: scummvm/trunk/engines/sci/exereader.cpp
===================================================================
--- scummvm/trunk/engines/sci/exereader.cpp 2009-02-21 03:25:23 UTC (rev 38655)
+++ scummvm/trunk/engines/sci/exereader.cpp 2009-02-21 03:32:13 UTC (rev 38656)
@@ -70,7 +70,8 @@
// Skip number of types in map
exeStream->skip(2);
- uint16 val = exeStream->readUint16BE() + 1;
+// uint16 val = exeStream->readUint16BE() + 1;
+ exeStream->skip(2);
// Keep reading till we find the "CODE" bit
while (!exeStream->eos()) {
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