Added --eparser to call ethereal parser generator.
authorTim Potter <tpot@samba.org>
Sat, 24 Nov 2001 23:35:58 +0000 (23:35 +0000)
committerTim Potter <tpot@samba.org>
Sat, 24 Nov 2001 23:35:58 +0000 (23:35 +0000)
(This used to be commit e1f191a9dc563648f9d151c56020e3324854f52f)

source4/build/pidl/pidl.pl

index 7ac7d5860f8af39e6f82757f975463d9d504eadf..6b32ade75ac457ea77281e429c5d7754ff7a15f2 100755 (executable)
@@ -13,6 +13,7 @@ use Parse::RecDescent;
 use dump;
 use header;
 use parser;
+use eparser;
 use util;
 
 my($opt_help) = 0;
@@ -21,6 +22,7 @@ my($opt_dump) = 0;
 my($opt_diff) = 0;
 my($opt_header) = 0;
 my($opt_parser) = 0;
+my($opt_eparser) = 0;
 
 #####################################################################
 # parse an IDL file returning a structure containing all the data
@@ -60,6 +62,7 @@ sub ShowHelp()
              --dump                dump a pidl file back to idl
              --header              create a C header file
              --parser              create a C parser
+             --eparser             create an ethereal parser
              --diff                run diff on the idl and dumped output
            \n";
     exit(0);
@@ -72,6 +75,7 @@ GetOptions (
            'dump' => \$opt_dump,
            'header' => \$opt_header,
            'parser' => \$opt_parser,
+           'eparser' => \$opt_eparser,
            'diff' => \$opt_diff
            );
 
@@ -107,7 +111,14 @@ if ($opt_parser) {
     my($idl) = util::LoadStructure($pidl_file);
     my($parser) = util::ChangeExtension($idl_file, "c");
     print "Generating $parser\n";
-    util::FileSave($parser, IdlParser::Dump($idl));
+    util::FileSave($parser, IdlParser::Parse($idl));
+}
+
+if ($opt_eparser) {
+    my($idl) = util::LoadStructure($pidl_file);
+    my($parser) = util::ChangeExtension($idl_file, "c");
+    print "Generating $parser for ethereal\n";
+    util::FileSave($parser, IdlEParser::Parse($idl));
 }
 
 if ($opt_diff) {