]> git.draconx.ca Git - gob-dx.git/blobdiff - src/generate_treefuncs.pl
Avoid using reserved identifiers.
[gob-dx.git] / src / generate_treefuncs.pl
index 31d9151beb0106c18e3f99ea2b1dbd1b53b19b7c..ab47f3d79700effca730ab3b0dc08d22978db5cb 100755 (executable)
@@ -1,6 +1,8 @@
 #!/usr/bin/perl -w
 
-open (FILE, "treefuncs.def") || die ("Can't open treefuncs.def");
+my $srcfile = $ARGV[0] || "treefuncs.def";
+
+open (FILE, "$srcfile") || die ("Can't open $srcfile");
 open (OUTC, ">treefuncs.c") || die ("Can't open treefuncs.c");
 open (OUTH, ">treefuncs.h") || die ("Can't open treefuncs.h");
 
@@ -9,7 +11,7 @@ print OUTC " * Do not edit by hand! */\n\n";
 print OUTH "/* Generated by generate_treefuncs.pl from treefuncs.def!\n";
 print OUTH " * Do not edit by hand! */\n\n";
 
-$typedefs = "typedef union _Node Node;\n";
+$typedefs = "typedef union Node Node;\n";
 $typeenums = "enum {\n";
 
 $typename = "";
@@ -124,9 +126,9 @@ while (<FILE>) {
 
                $typeenums .= "\t$uct"."_NODE,\n";
 
-               $typedefs .= "typedef struct _$typename $typename;\n";
+               $typedefs .= "typedef struct $typename $typename;\n";
 
-               $typestruct{$typename} = "struct _$typename {\n\tNodeType type;\n";
+               $typestruct{$typename} = "struct $typename {\n\tNodeType type;\n";
                $copyfunc_prot{$typename} = "static $typename *\ncopy_$lct ($typename * self)";
                $setfunc_prot{$typename} = "static void\nsetv_$lct ($typename * self, va_list __ap)";
                $freefunc_prot{$typename} = "void\nfree_$lct ($typename * self)";
@@ -259,7 +261,7 @@ foreach $t (sort keys %typestruct) {
        print OUTH "$typestruct{$t}\n\n";
 }
 
-print OUTH "union _Node {\n\tNodeType type;\n";
+print OUTH "union Node {\n\tNodeType type;\n";
 
 foreach $t (sort keys %typestruct) {
        $foo = lc $t;
@@ -285,6 +287,7 @@ print OUTH "\n#endif /* TREEFUNCS_H */\n";
 
 close (OUTH);
 
+print OUTC "#include <config.h>\n";
 print OUTC "#include <glib.h>\n";
 print OUTC "#include <stdarg.h>\n";
 print OUTC "#include \"treefuncs.h\"\n\n";