mirror of
https://github.com/samba-team/samba.git
synced 2024-12-28 07:21:54 +03:00
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-abartlet
(This used to be commit beff331e15
)
This commit is contained in:
commit
5454dc044d
@ -2190,6 +2190,26 @@ sub ParseFunctionPull($$)
|
||||
$self->pidl("");
|
||||
}
|
||||
|
||||
sub AuthServiceStruct($$$)
|
||||
{
|
||||
my ($self, $ifacename, $authservice) = @_;
|
||||
my @a = split /,/, $authservice;
|
||||
my $authservice_count = $#a + 1;
|
||||
|
||||
$self->pidl("static const char * const $ifacename\_authservice_strings[] = {");
|
||||
foreach my $ap (@a) {
|
||||
$self->pidl("\t$ap, ");
|
||||
}
|
||||
$self->pidl("};");
|
||||
$self->pidl("");
|
||||
|
||||
$self->pidl("static const struct ndr_interface_string_array $ifacename\_authservices = {");
|
||||
$self->pidl("\t.count\t= $authservice_count,");
|
||||
$self->pidl("\t.names\t= $ifacename\_authservice_strings");
|
||||
$self->pidl("};");
|
||||
$self->pidl("");
|
||||
}
|
||||
|
||||
#####################################################################
|
||||
# produce a function call table
|
||||
sub FunctionTable($$)
|
||||
@ -2237,21 +2257,8 @@ sub FunctionTable($$)
|
||||
$interface->{PROPERTIES}->{authservice} = "\"host\"";
|
||||
}
|
||||
|
||||
my @a = split /,/, $interface->{PROPERTIES}->{authservice};
|
||||
my $authservice_count = $#a + 1;
|
||||
|
||||
$self->pidl("static const char * const $interface->{NAME}\_authservice_strings[] = {");
|
||||
foreach my $ap (@a) {
|
||||
$self->pidl("\t$ap, ");
|
||||
}
|
||||
$self->pidl("};");
|
||||
$self->pidl("");
|
||||
|
||||
$self->pidl("static const struct ndr_interface_string_array $interface->{NAME}\_authservices = {");
|
||||
$self->pidl("\t.count\t= $endpoint_count,");
|
||||
$self->pidl("\t.names\t= $interface->{NAME}\_authservice_strings");
|
||||
$self->pidl("};");
|
||||
$self->pidl("");
|
||||
$self->AuthServiceStruct($interface->{NAME},
|
||||
$interface->{PROPERTIES}->{authservice});
|
||||
|
||||
$self->pidl("\nconst struct ndr_interface_table ndr_table_$interface->{NAME} = {");
|
||||
$self->pidl("\t.name\t\t= \"$interface->{NAME}\",");
|
||||
|
@ -4,7 +4,7 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More tests => 30;
|
||||
use Test::More tests => 31;
|
||||
use FindBin qw($RealBin);
|
||||
use lib "$RealBin";
|
||||
use Util;
|
||||
@ -277,3 +277,17 @@ $generator->ParseElementPrint({ NAME => "x", TYPE => "uint32", REPRESENTATION_TY
|
||||
PROPERTIES => { value => "23" },
|
||||
LEVELS => [ { TYPE => "DATA", DATA_TYPE => "uint32"} ]}, "var", { "x" => "r->foobar" } );
|
||||
is($generator->{res}, "ndr_print_uint32(ndr, \"x\", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?23:var);\n");
|
||||
|
||||
$generator = new Parse::Pidl::Samba4::NDR::Parser();
|
||||
$generator->AuthServiceStruct("bridge", "\"rot13\",\"onetimepad\"");
|
||||
is($generator->{res}, "static const char * const bridge_authservice_strings[] = {
|
||||
\"rot13\",
|
||||
\"onetimepad\",
|
||||
};
|
||||
|
||||
static const struct ndr_interface_string_array bridge_authservices = {
|
||||
.count = 2,
|
||||
.names = bridge_authservice_strings
|
||||
};
|
||||
|
||||
");
|
||||
|
Loading…
Reference in New Issue
Block a user