1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-24 13:57:43 +03:00

r4557: support for [flags()] on typedef enum|bitmap

NDR_PAHEX is handled by ndr_print_enum() now

metze
This commit is contained in:
Stefan Metzmacher 2005-01-06 07:29:55 +00:00 committed by Gerald (Jerry) Carter
parent ec70d9a740
commit c3b2d2cca3
2 changed files with 9 additions and 7 deletions
source
build/pidl
librpc/ndr

@ -817,9 +817,8 @@ sub ParseEnumPull($)
my($enum) = shift;
my($type_fn) = util::enum_type_fn($enum);
start_flags($enum);
pidl "\t$type_fn v;\n";
start_flags($enum);
pidl "\tNDR_CHECK(ndr_pull_$type_fn(ndr, &v));\n";
pidl "\t*r = v;\n";
@ -832,10 +831,10 @@ sub ParseEnumPrint($)
{
my($enum) = shift;
start_flags($enum);
pidl "\tconst char *val = NULL;\n\n";
start_flags($enum);
pidl "\tswitch (r) {\n";
my $els = \@{$enum->{ELEMENTS}};
foreach my $i (0 .. $#{$els}) {
@ -874,9 +873,8 @@ sub ParseBitmapPull($)
my($bitmap) = shift;
my($type_fn) = util::bitmap_type_fn($bitmap);
start_flags($bitmap);
pidl "\t$type_fn v;\n";
start_flags($bitmap);
pidl "\tNDR_CHECK(ndr_pull_$type_fn(ndr, &v));\n";
pidl "\t*r = v;\n";

@ -1002,7 +1002,11 @@ void ndr_print_struct(struct ndr_print *ndr, const char *name, const char *type)
void ndr_print_enum(struct ndr_print *ndr, const char *name, const char *type,
const char *val, uint_t value)
{
ndr->print(ndr, "%-25s: %s (%d)", name, val?val:"UNKNOWN_ENUM_VALUE", value);
if (ndr->flags & LIBNDR_PRINT_ARRAY_HEX) {
ndr->print(ndr, "%-25s: %s (0x%X)", name, val?val:"UNKNOWN_ENUM_VALUE", value);
} else {
ndr->print(ndr, "%-25s: %s (%d)", name, val?val:"UNKNOWN_ENUM_VALUE", value);
}
}
void ndr_print_bitmap_flag(struct ndr_print *ndr, size_t size, const char *flag_name, uint_t flag, uint_t value)