]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
- Undo a mistaken change to parse_if_statement that caused else clauses to
authorTed Lemon <source@isc.org>
Tue, 20 Jul 1999 17:58:33 +0000 (17:58 +0000)
committerTed Lemon <source@isc.org>
Tue, 20 Jul 1999 17:58:33 +0000 (17:58 +0000)
  be misparsed.
- Set the type of the on statement.
- Set event types correctly when parsing on statements.

common/parse.c

index 5347de8ba9b8c623f8ad733ccb4d9aae14522000..3aaddcae5d4f74d9b874642266e6ae563bfd840c 100644 (file)
@@ -22,7 +22,7 @@
 
 #ifndef lint
 static char copyright[] =
-"$Id: parse.c,v 1.33 1999/07/20 13:24:39 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.  All rights reserved.\n";
+"$Id: parse.c,v 1.34 1999/07/20 17:58:33 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.  All rights reserved.\n";
 #endif /* not lint */
 
 #include "dhcpd.h"
@@ -1314,6 +1314,7 @@ int parse_on_statement (result, cfile, lose)
        if (!executable_statement_allocate (result,
                                            "parse_executable_statement"))
                log_fatal ("no memory for new statement.");
+       (*result) -> op = on_statement;
 
        token = next_token (&val, cfile);
        switch (token) {
@@ -1322,11 +1323,11 @@ int parse_on_statement (result, cfile, lose)
                break;
                
              case COMMIT:
-               (*result) -> data.on.evtype = expiry;
+               (*result) -> data.on.evtype = commit;
                break;
                
              case RELEASE:
-               (*result) -> data.on.evtype = expiry;
+               (*result) -> data.on.evtype = release;
                break;
                
              default:
@@ -1458,8 +1459,8 @@ int parse_if_statement (result, cfile, lose)
                        return 0;
                } else {
                        token = next_token (&val, cfile);
-                       if (!parse_if_statement (&(*result) -> data.ie.false,
-                                                cfile, lose)) {
+                       if (!(parse_executable_statements
+                             (&(*result) -> data.ie.false, cfile, lose))) {
                                executable_statement_dereference
                                        (result, "parse_if_statement");
                                return 0;