From: Stefan Metzmacher Date: Thu, 21 Nov 2024 13:11:06 +0000 (+0100) Subject: librpc/ndr: let ndr_print_bitmap_flag work for bitmap64bit values X-Git-Tag: tdb-1.4.13~408 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=61a5151af556b2386894ba2c5eb834ca81001cdb;p=thirdparty%2Fsamba.git librpc/ndr: let ndr_print_bitmap_flag work for bitmap64bit values Keep libndr at 6.0.0, this has not been released yet. Signed-off-by: Stefan Metzmacher Reviewed-by: Andreas Schneider --- diff --git a/librpc/ABI/ndr-6.0.0.sigs b/librpc/ABI/ndr-6.0.0.sigs index f42814cfae1..e68248f2016 100644 --- a/librpc/ABI/ndr-6.0.0.sigs +++ b/librpc/ABI/ndr-6.0.0.sigs @@ -40,7 +40,7 @@ ndr_print_NTTIME_hyper: void (struct ndr_print *, const char *, NTTIME) ndr_print_WERROR: void (struct ndr_print *, const char *, WERROR) ndr_print_array_uint8: void (struct ndr_print *, const char *, const uint8_t *, uint32_t) ndr_print_bad_level: void (struct ndr_print *, const char *, uint16_t) -ndr_print_bitmap_flag: void (struct ndr_print *, size_t, const char *, uint32_t, uint32_t) +ndr_print_bitmap_flag: void (struct ndr_print *, size_t, const char *, uint64_t, uint64_t) ndr_print_bool: void (struct ndr_print *, const char *, const bool) ndr_print_debug: bool (int, ndr_print_fn_t, const char *, const void *, const char *, const char *) ndr_print_debug_helper: void (struct ndr_print *, const char *, ...) diff --git a/librpc/ndr/libndr.h b/librpc/ndr/libndr.h index b26106985e7..9f1d7ac9107 100644 --- a/librpc/ndr/libndr.h +++ b/librpc/ndr/libndr.h @@ -881,7 +881,7 @@ enum ndr_err_code ndr_push_ref_ptr(struct ndr_push *ndr); void ndr_print_struct(struct ndr_print *ndr, const char *name, const char *type); void ndr_print_null(struct ndr_print *ndr); void ndr_print_enum(struct ndr_print *ndr, const char *name, const char *type, const char *val, uint32_t value); -void ndr_print_bitmap_flag(struct ndr_print *ndr, size_t size, const char *flag_name, uint32_t flag, uint32_t value); +void ndr_print_bitmap_flag(struct ndr_print *ndr, size_t size, const char *flag_name, uint64_t flag, uint64_t value); void ndr_print_ptr(struct ndr_print *ndr, const char *name, const void *p); void ndr_print_union(struct ndr_print *ndr, const char *name, int level, const char *type); void ndr_print_bad_level(struct ndr_print *ndr, const char *name, uint16_t level); diff --git a/librpc/ndr/ndr_basic.c b/librpc/ndr/ndr_basic.c index c15d8a67a7f..b6dcc22b349 100644 --- a/librpc/ndr/ndr_basic.c +++ b/librpc/ndr/ndr_basic.c @@ -1127,7 +1127,7 @@ _PUBLIC_ void ndr_print_enum(struct ndr_print *ndr, const char *name, const char } } -_PUBLIC_ void ndr_print_bitmap_flag(struct ndr_print *ndr, size_t size, const char *flag_name, uint32_t flag, uint32_t value) +_PUBLIC_ void ndr_print_bitmap_flag(struct ndr_print *ndr, size_t size, const char *flag_name, uint64_t flag, uint64_t value) { if (flag == 0) { return; @@ -1141,9 +1141,9 @@ _PUBLIC_ void ndr_print_bitmap_flag(struct ndr_print *ndr, size_t size, const ch value >>= 1; } if (flag == 1) { - ndr->print(ndr, " %"PRIu32": %-25s", value, flag_name); + ndr->print(ndr, " %"PRIu64": %-25s", value, flag_name); } else { - ndr->print(ndr, "0x%02"PRIx32": %-25s (%"PRIu32")", value, flag_name, value); + ndr->print(ndr, "0x%02"PRIx64": %-25s (%"PRIu64")", value, flag_name, value); } }