summaryrefslogtreecommitdiff
path: root/librpc/ndr/ndr.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-08-09 16:37:52 +1000
committerAndrew Bartlett <abartlet@samba.org>2010-08-14 11:58:13 +1000
commit3828c76c76e4e9ce7bdb33bc4871f5cf571cc18b (patch)
tree835b1e9da49815679bc16d8606955f2b0214146e /librpc/ndr/ndr.c
parent7bb5d353e84fa2998ae03fb7ecff1c59685dd9b7 (diff)
downloadsamba-3828c76c76e4e9ce7bdb33bc4871f5cf571cc18b.tar.gz
samba-3828c76c76e4e9ce7bdb33bc4871f5cf571cc18b.tar.bz2
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.c20
1 files changed, 15 insertions, 5 deletions
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;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");
+ }
}
/*