1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00

r7111: Patch from Alan DeKok for correct use of the needed variables in Decl*

(This used to be commit 1e9beae533b2bd802c9651a3af620a464620d38e)
This commit is contained in:
Jelmer Vernooij 2005-05-30 14:15:20 +00:00 committed by Gerald (Jerry) Carter
parent aa2580cab2
commit 41d7c0c1e3

View File

@ -62,6 +62,7 @@ sub NeededTypedef($$)
if (util::has_property($t, "public")) {
$needed->{"pull_$t->{NAME}"} = not util::has_property($t, "nopull");
$needed->{"decl_$t->{NAME}"} = not util::has_property($t, "nopull");
}
if ($t->{DATA}->{TYPE} eq "STRUCT" or $t->{DATA}->{TYPE} eq "UNION") {
@ -70,7 +71,7 @@ sub NeededTypedef($$)
$e->{PARENT} = $t->{DATA};
if ($needed->{"pull_$t->{NAME}"} and
not defined($needed->{"pull_$e->{TYPE}"})) {
$needed->{"pull_$e->{TYPE}"} = 1;
$needed->{"decl_$e->{TYPE}"} = $needed->{"pull_$e->{TYPE}"} = 1;
}
$needed->{"hf_$t->{NAME}_$e->{NAME}"} = {
@ -1182,19 +1183,20 @@ sub DeclInterface($$)
# Typedefs
foreach my $d (@{$interface->{TYPEDEFS}}) {
($needed->{"pull_$d->{NAME}"}) && DeclTypedef($d);
# Make sure we don't generate a function twice...
$needed->{"pull_$d->{NAME}"} = 0;
($needed->{"decl_$d->{NAME}"}) && DeclTypedef($d, $needed);
}
}
sub DeclTypedef($)
sub DeclTypedef($$)
{
my $e = shift;
my $needed = shift;
if (defined($typefamily{$e->{DATA}->{TYPE}}->{DECL})) {
$typefamily{$e->{DATA}->{TYPE}}->{DECL}->($e->{DATA}, $e->{NAME});
# Make sure we don't generate a function twice...
$needed->{"decl_$e->{NAME}"} = 0;
}
}