diff options
author | Max Horn | 2009-10-20 16:55:12 +0000 |
---|---|---|
committer | Max Horn | 2009-10-20 16:55:12 +0000 |
commit | a60836c5eee662ec54ea8c232385b21edf1a2fa5 (patch) | |
tree | 2fc1c6d9a6fbe37b0100a23109cd67fe8977b8f9 /engines/sci/engine | |
parent | 907134076d81294753ac32cbfda23f5a2d4d0d64 (diff) | |
download | scummvm-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/sci/engine')
-rw-r--r-- | engines/sci/engine/grammar.cpp | 3 |
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; |