diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-08-09 16:37:52 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2010-08-14 11:58:13 +1000 |
commit | 3828c76c76e4e9ce7bdb33bc4871f5cf571cc18b (patch) | |
tree | 835b1e9da49815679bc16d8606955f2b0214146e /librpc/ndr/ndr.c | |
parent | 7bb5d353e84fa2998ae03fb7ecff1c59685dd9b7 (diff) | |
download | samba-3828c76c76e4e9ce7bdb33bc4871f5cf571cc18b.tar.gz samba-3828c76c76e4e9ce7bdb33bc4871f5cf571cc18b.tar.xz samba-3828c76c76e4e9ce7bdb33bc4871f5cf571cc18b.zip |
ndr: allow ndr_print to print DATA_BLOB
this prints DATA_BLOB structures using the ndr->print() calls
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'librpc/ndr/ndr.c')
-rw-r--r-- | librpc/ndr/ndr.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/librpc/ndr/ndr.c b/librpc/ndr/ndr.c index 1600d51c1c0..3f553a7cbc8 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;i<ndr->depth;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;i<ndr->depth;i++) { - ndr->private_data = talloc_asprintf_append_buffer( - (char *)ndr->private_data, " "); + if (!ndr->no_newline) { + for (i=0;i<ndr->depth;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"); + } } /* |