X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fcontrol%2Fdo-if.c;h=83de0e39a31a73574bfe0fa0b781dafc96eafbf0;hb=6b6718a372daeaa66d69e126f9ee4a9bf46bf059;hp=6b6dc16d4de600362035e9d39c35afa1f0e5e456;hpb=0df9cdd3df66caf4353128feff3008289cda8115;p=pspp diff --git a/src/language/control/do-if.c b/src/language/control/do-if.c index 6b6dc16d4d..83de0e39a3 100644 --- a/src/language/control/do-if.c +++ b/src/language/control/do-if.c @@ -124,9 +124,12 @@ int cmd_else (struct lexer *lexer UNUSED, struct dataset *ds) { struct do_if_trns *do_if = ctl_stack_top (&do_if_class); - assert (ds == do_if->ds); + if (do_if == NULL || !must_not_have_else (do_if)) return CMD_CASCADING_FAILURE; + + assert (ds == do_if->ds); + add_else (do_if); return CMD_SUCCESS; }