From 3828c76c76e4e9ce7bdb33bc4871f5cf571cc18b Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 9 Aug 2010 16:37:52 +1000 Subject: ndr: allow ndr_print to print DATA_BLOB this prints DATA_BLOB structures using the ndr->print() calls Signed-off-by: Andrew Bartlett --- librpc/ndr/ndr.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'librpc/ndr/ndr.c') diff --git a/librpc/ndr/ndr.c b/librpc/ndr/ndr.c index 1600d51c1c..3f553a7cbc 100644 --- a/librpc/ndr/ndr.c +++ b/librpc/ndr/ndr.c @@ -176,6 +176,12 @@ _PUBLIC_ void ndr_print_debug_helper(struct ndr_print *ndr, const char *format, return; } + if (ndr->no_newline) { + DEBUGADD(1,("%s", s)); + free(s); + return; + } + for (i=0;idepth;i++) { DEBUGADD(1,(" ")); } @@ -189,17 +195,21 @@ _PUBLIC_ void ndr_print_string_helper(struct ndr_print *ndr, const char *format, va_list ap; int i; - for (i=0;idepth;i++) { - ndr->private_data = talloc_asprintf_append_buffer( - (char *)ndr->private_data, " "); + if (!ndr->no_newline) { + for (i=0;idepth;i++) { + ndr->private_data = talloc_asprintf_append_buffer( + (char *)ndr->private_data, " "); + } } va_start(ap, format); ndr->private_data = talloc_vasprintf_append_buffer((char *)ndr->private_data, format, ap); va_end(ap); - ndr->private_data = talloc_asprintf_append_buffer((char *)ndr->private_data, - "\n"); + if (!ndr->no_newline) { + ndr->private_data = talloc_asprintf_append_buffer((char *)ndr->private_data, + "\n"); + } } /* -- cgit