From b197de754f5359f02f786bcd5e8a7671fb0bb48b Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 9 Oct 2013 17:47:29 +0200 Subject: libndr: Avoid ommitting display of unset bitmap flags. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In 816e68f94fe500b9d68fd29021d432b84d3139b7 the display of unset bits has been effectively disabled while only the check for 0 bits was supposed to be avoided (because it creates the infite loop). Guenther Signed-off-by: Günther Deschner Reviewed-by: Volker Lendecke Autobuild-User(master): Günther Deschner Autobuild-Date(master): Wed Oct 9 19:56:39 CEST 2013 on sn-devel-104 --- librpc/ndr/ndr_basic.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'librpc') diff --git a/librpc/ndr/ndr_basic.c b/librpc/ndr/ndr_basic.c index ae5af7a4a5..a6cf607f3e 100644 --- a/librpc/ndr/ndr_basic.c +++ b/librpc/ndr/ndr_basic.c @@ -1017,13 +1017,13 @@ _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) { - /* this is an attempt to support multi-bit bitmap masks */ - value &= flag; - - if (value == 0) { + if (flag == 0) { return; } + /* this is an attempt to support multi-bit bitmap masks */ + value &= flag; + while (!(flag & 1)) { flag >>= 1; value >>= 1; -- cgit