The branch, master has been updated
       via  ad94ae9... librpc/idl/mgmt.idl: add missing size_is()
       via  0a7f749... pidl:NDR: correctly handle bracket arrays with 'string'
      from  d6eb42c... s3:rpcclient: we also need some ndr_pull functions

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit ad94ae980462dc4c581a2fa1d7e927c2ae625c19
Author: Stefan Metzmacher <[email protected]>
Date:   Thu Aug 5 17:19:16 2010 +0200

    librpc/idl/mgmt.idl: add missing size_is()
    
    metze

commit 0a7f749bc80d9846b97cd22cd503473a205aaafd
Author: Stefan Metzmacher <[email protected]>
Date:   Thu Aug 5 16:10:37 2010 +0200

    pidl:NDR: correctly handle bracket arrays with 'string'
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 librpc/idl/mgmt.idl        |    2 +-
 pidl/lib/Parse/Pidl/NDR.pm |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/mgmt.idl b/librpc/idl/mgmt.idl
index 35857f2..17c8cc4 100644
--- a/librpc/idl/mgmt.idl
+++ b/librpc/idl/mgmt.idl
@@ -70,6 +70,6 @@ interface mgmt
        WERROR mgmt_inq_princ_name (
                [in]        uint32                  authn_proto,
                [in]        uint32                  princ_name_size,
-               [out]       [string,charset(DOS)] uint8 princ_name[]
+               [out]       [string,size_is(princ_name_size),charset(DOS)] 
uint8 princ_name[]
                );
 }
diff --git a/pidl/lib/Parse/Pidl/NDR.pm b/pidl/lib/Parse/Pidl/NDR.pm
index c1ac600..20f52bf 100644
--- a/pidl/lib/Parse/Pidl/NDR.pm
+++ b/pidl/lib/Parse/Pidl/NDR.pm
@@ -125,6 +125,10 @@ sub GetElementLevelTable($$)
                if ($d eq "*") {
                        $is_conformant = 1;
                        if ($size = shift @size_is) {
+                               if (has_property($e, "string")) {
+                                       $is_string = 1;
+                                       delete($e->{PROPERTIES}->{string});
+                               }
                        } elsif ((scalar(@size_is) == 0) and has_property($e, 
"string")) {
                                $is_string = 1;
                                delete($e->{PROPERTIES}->{string});


-- 
Samba Shared Repository

Reply via email to