1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-06 16:23:49 +03:00

r21487: Fix warning when using anonymous types, initial work on nested type support in ejs.

This commit is contained in:
Jelmer Vernooij
2007-02-21 11:32:48 +00:00
committed by Gerald (Jerry) Carter
parent d2307f3f7e
commit a396c5de12
3 changed files with 32 additions and 7 deletions

View File

@@ -157,7 +157,15 @@ sub EjsPullScalar($$$$$)
and (defined($pl) and $pl->{TYPE} eq "POINTER")) {
$var = get_pointer_to($var);
}
pidl "NDR_CHECK(ejs_pull_$e->{TYPE}(ejs, v, $name, $var));";
my $t;
if (ref($e->{TYPE}) eq "HASH") {
$t = "$e->{TYPE}->{TYPE}_$e->{TYPE}->{NAME}";
} else {
$t = $e->{TYPE};
}
pidl "NDR_CHECK(ejs_pull_$t(ejs, v, $name, $var));";
}
###########################
@@ -449,7 +457,15 @@ sub EjsPushScalar($$$$$)
or (defined($pl) and $pl->{TYPE} eq "POINTER")) {
$var = get_pointer_to($var);
}
pidl "NDR_CHECK(ejs_push_$e->{TYPE}(ejs, v, $name, $var));";
my $t;
if (ref($e->{TYPE}) eq "HASH") {
$t = "$e->{TYPE}->{TYPE}_$e->{TYPE}->{NAME}";
} else {
$t = $e->{TYPE};
}
pidl "NDR_CHECK(ejs_push_$t(ejs, v, $name, $var));";
}
###########################
@@ -877,11 +893,17 @@ sub NeededTypedef($$)
foreach (@{$t->{DATA}->{ELEMENTS}}) {
next if (has_property($_, "subcontext")); #FIXME: Support subcontexts
unless (defined($needed->{"pull_$_->{TYPE}"})) {
$needed->{"pull_$_->{TYPE}"} = $needed->{"pull_$t->{NAME}"};
my $n;
if (ref($_->{TYPE}) eq "HASH") {
$n = "$_->{TYPE}->{TYPE}_$_->{TYPE}->{NAME}";
} else {
$n = $_->{TYPE};
}
unless (defined($needed->{"push_$_->{TYPE}"})) {
$needed->{"push_$_->{TYPE}"} = $needed->{"push_$t->{NAME}"};
unless (defined($needed->{"pull_$n"})) {
$needed->{"pull_$n"} = $needed->{"pull_$t->{NAME}"};
}
unless (defined($needed->{"push_$n"})) {
$needed->{"push_$n"} = $needed->{"push_$t->{NAME}"};
}
}
}