r4523: the PROPERTIES change for typedef was not quite as simple as I thought. This...
authorAndrew Tridgell <tridge@samba.org>
Wed, 5 Jan 2005 00:31:28 +0000 (00:31 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:08:18 +0000 (13:08 -0500)
that fixes things for now
(This used to be commit 0939b83a0f07563edc6448fb6a87a573dbaa9f6c)

source4/build/pidl/idl.pm
source4/build/pidl/parser.pm

index 8a1bfd2b303c87485619a60179f93953ba00a1d6..ed0192e3e9089967c24a2b027ea1b74386751364 100644 (file)
@@ -1666,9 +1666,9 @@ sub
 #line 24 "build/pidl/idl.yp"
 {$_[3] => {
                "TYPE" => "COCLASS", 
-                          "PROPERTIES" => $_[1],
-                      "NAME" => $_[3],
-                      "DATA" => $_[5],
+              "PROPERTIES" => $_[1],
+              "NAME" => $_[3],
+              "DATA" => $_[5],
           }}
        ],
        [#Rule 5
@@ -1686,10 +1686,10 @@ sub
 #line 38 "build/pidl/idl.yp"
 {$_[3] => {
                "TYPE" => "INTERFACE", 
-                          "PROPERTIES" => $_[1],
-                      "NAME" => $_[3],
-                          "BASE" => $_[4],
-                      "DATA" => $_[6],
+              "PROPERTIES" => $_[1],
+              "NAME" => $_[3],
+              "BASE" => $_[4],
+              "DATA" => $_[6],
           }}
        ],
        [#Rule 8
index 88d6cee0dba24b83e2bbeff883e744528b67c90c..5a67f3d19391790022285245b40d1bf6f9b7e24a 100644 (file)
@@ -1259,6 +1259,10 @@ sub ParseTypedefPush($)
                return;
        }
 
+       if (defined($e->{PROPERTIES}) && !defined($e->{DATA}->{PROPERTIES})) {
+               $e->{DATA}->{PROPERTIES} = $e->{PROPERTIES};
+       }
+
        if ($e->{DATA}->{TYPE} eq "STRUCT") {
                pidl $static . "NTSTATUS ndr_push_$e->{NAME}(struct ndr_push *ndr, int ndr_flags, struct $e->{NAME} *r)";
                pidl "\n{\n";
@@ -1292,6 +1296,10 @@ sub ParseTypedefPull($)
        my($e) = shift;
        my $static = fn_prefix($e);
 
+       if (defined($e->{PROPERTIES}) && !defined($e->{DATA}->{PROPERTIES})) {
+               $e->{DATA}->{PROPERTIES} = $e->{PROPERTIES};
+       }
+
        if (! needed::is_needed("pull_$e->{NAME}")) {
 #              print "pull_$e->{NAME} not needed\n";
                return;
@@ -1329,6 +1337,10 @@ sub ParseTypedefPrint($)
 {
        my($e) = shift;
 
+       if (defined($e->{PROPERTIES}) && !defined($e->{DATA}->{PROPERTIES})) {
+               $e->{DATA}->{PROPERTIES} = $e->{PROPERTIES};
+       }
+
        if ($e->{DATA}->{TYPE} eq "STRUCT") {
                pidl "void ndr_print_$e->{NAME}(struct ndr_print *ndr, const char *name, struct $e->{NAME} *r)";
                pidl "\n{\n";