Update to samba svn revision 12055:

========== Samba changelog start ========================
r11959 | jelmer | 2005-11-29 14:54:51 +0100 (Tue, 29 Nov 2005) | 2 lines

Use DOS_errors array for displaying WERROR values

------------------------------------------------------------------------
r11972 | metze | 2005-11-30 13:40:26 +0100 (Wed, 30 Nov 2005) | 3 lines

handle [noejs] property also on functions

metze
------------------------------------------------------------------------
r11974 | metze | 2005-11-30 18:07:02 +0100 (Wed, 30 Nov 2005) | 3 lines

only look at $pl->{POINTER_TYPE} when $pl is defined

metze
------------------------------------------------------------------------
r11997 | metze | 2005-12-01 13:39:33 +0100 (Thu, 01 Dec 2005) | 14 lines

for multidimentional array like this:
uint32 [num_level2][num_level1][num_level0]

fix the order they're pushed and pulled, it should be like this

for (l2=0; l2 < num_level2; l2++) {
        for (l1=0; l1 < num_level1; l1++) {
                for (l0=0; l0 < num_level0; l0++) {
                        ndr_pull_uint32(...);
                }
        }
}

metze
========== Samba changelog end ========================


svn path=/trunk/; revision=16673
This commit is contained in:
Jörg Mayer 2005-12-04 08:48:38 +00:00
parent 46325167d9
commit d3970d3674
4 changed files with 12 additions and 11 deletions

View File

@ -709,7 +709,7 @@ sub ProcessInterface($)
}
if (defined($hf_used{"hf_$x->{NAME}_werror"})) {
register_hf_field("hf_$x->{NAME}_werror", "Windows Error", "$x->{NAME}.werror", "FT_UINT32", "BASE_HEX", "NULL", 0, "");
register_hf_field("hf_$x->{NAME}_werror", "Windows Error", "$x->{NAME}.werror", "FT_UINT32", "BASE_HEX", "VALS(DOS_errors)", 0, "");
}
RegisterInterface($x);

View File

@ -104,9 +104,10 @@ sub GetElementLevelTable($)
if (defined($e->{ARRAY_LEN})) {
@bracket_array = @{$e->{ARRAY_LEN}};
}
# Parse the [][][][] style array stuff
foreach my $d (@bracket_array) {
for my $i (0 .. $#bracket_array) {
my $d = $bracket_array[$#bracket_array - $i];
my $size = $d;
my $length = $d;
my $is_surrounding = 0;

View File

@ -713,7 +713,8 @@ sub EjsInterface($$)
foreach my $d (@{$interface->{FUNCTIONS}}) {
next if not defined($d->{OPNUM});
next if Parse::Pidl::Util::has_property($d, "noejs");
EjsPullFunction($d);
EjsPushFunction($d);
EjsFunction($d, $name);

View File

@ -2019,15 +2019,14 @@ sub AllocateArrayLevel($$$$$)
pidl "if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {";
pidl "\tNDR_PULL_ALLOC_N($ndr, $var, $size);";
pidl "}";
} else {
pidl "NDR_PULL_ALLOC_N($ndr, $var, $size);";
if (grep(/in/,@{$e->{DIRECTION}}) and
grep(/out/,@{$e->{DIRECTION}})) {
pidl "memcpy(r->out.$e->{NAME},r->in.$e->{NAME},$size * sizeof(*r->in.$e->{NAME}));";
}
return;
}
if (grep(/in/,@{$e->{DIRECTION}}) and
grep(/out/,@{$e->{DIRECTION}}) and
$pl->{POINTER_TYPE} eq "ref") {
pidl "memcpy(r->out.$e->{NAME},r->in.$e->{NAME},$size * sizeof(*r->in.$e->{NAME}));";
}
pidl "NDR_PULL_ALLOC_N($ndr, $var, $size);";
}
#####################################################################