aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMax Horn2009-10-20 16:55:12 +0000
committerMax Horn2009-10-20 16:55:12 +0000
commita60836c5eee662ec54ea8c232385b21edf1a2fa5 (patch)
tree2fc1c6d9a6fbe37b0100a23109cd67fe8977b8f9 /engines
parent907134076d81294753ac32cbfda23f5a2d4d0d64 (diff)
downloadscummvm-rg350-a60836c5eee662ec54ea8c232385b21edf1a2fa5.tar.gz
scummvm-rg350-a60836c5eee662ec54ea8c232385b21edf1a2fa5.tar.bz2
scummvm-rg350-a60836c5eee662ec54ea8c232385b21edf1a2fa5.zip
SCI: Fix _vocab_add_rule by re-adding the 'if' statement I accidentally removed in rev 45263
svn-id: r45275
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/grammar.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/engines/sci/engine/grammar.cpp b/engines/sci/engine/grammar.cpp
index 597b3fb483..3860f0600a 100644
--- a/engines/sci/engine/grammar.cpp
+++ b/engines/sci/engine/grammar.cpp
@@ -255,6 +255,7 @@ void Vocabulary::freeRuleList(ParseRuleList *list) {
}
static ParseRuleList *_vocab_add_rule(ParseRuleList *list, ParseRule *rule) {
+ if (!rule)
return list;
ParseRuleList *new_elem = new ParseRuleList(rule);
@@ -300,6 +301,7 @@ void ParseRuleList::print() const {
}
static ParseRuleList *_vocab_split_rule_list(ParseRuleList *list) {
+ assert(list);
if (!list->next || (list->next->terminal)) {
ParseRuleList *tmp = list->next;
list->next = NULL;
@@ -309,6 +311,7 @@ static ParseRuleList *_vocab_split_rule_list(ParseRuleList *list) {
}
static void _vocab_free_empty_rule_list(ParseRuleList *list) {
+ assert(list);
if (list->next)
_vocab_free_empty_rule_list(list->next);
list->next = 0;