svn commit: samba r25800 - in branches/SAMBA_4_0/source/librpc/tools: .

gd at samba.org gd at samba.org
Fri Nov 2 11:36:07 GMT 2007


Author: gd
Date: 2007-11-02 11:36:06 +0000 (Fri, 02 Nov 2007)
New Revision: 25800

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25800

Log:
Use dump_data_skip_zeros() in ndrdump.

Still obey the --dump-data parameter which enforces the full dump display
(thanks metze).

Guenther

Modified:
   branches/SAMBA_4_0/source/librpc/tools/ndrdump.c


Changeset:
Modified: branches/SAMBA_4_0/source/librpc/tools/ndrdump.c
===================================================================
--- branches/SAMBA_4_0/source/librpc/tools/ndrdump.c	2007-11-02 11:33:53 UTC (rev 25799)
+++ branches/SAMBA_4_0/source/librpc/tools/ndrdump.c	2007-11-02 11:36:06 UTC (rev 25800)
@@ -130,6 +130,15 @@
 	return p;
 }
 
+static void ndrdump_data(uint8_t *d, uint32_t l, bool force)
+{
+	if (force) {
+		dump_data(0, d, l);
+	} else {
+		dump_data_skip_zeros(0, d, l);
+	}
+}
+
  int main(int argc, const char *argv[])
 {
 	const struct ndr_interface_table *p = NULL;
@@ -338,12 +347,14 @@
 
 	if (ndr_pull->offset != ndr_pull->data_size) {
 		printf("WARNING! %d unread bytes\n", ndr_pull->data_size - ndr_pull->offset);
-		dump_data(0, ndr_pull->data+ndr_pull->offset, ndr_pull->data_size - ndr_pull->offset);
+		ndrdump_data(ndr_pull->data+ndr_pull->offset,
+			     ndr_pull->data_size - ndr_pull->offset,
+			     dumpdata);
 	}
 
 	if (dumpdata) {
 		printf("%d bytes consumed\n", ndr_pull->offset);
-		dump_data(0, blob.data, blob.length);
+		ndrdump_data(blob.data, blob.length, dumpdata);
 	}
 
 	ndr_print = talloc_zero(mem_ctx, struct ndr_print);
@@ -377,7 +388,7 @@
 
 		if (dumpdata) {
 			printf("%ld bytes generated (validate)\n", (long)v_blob.length);
-			dump_data(0, v_blob.data, v_blob.length);
+			ndrdump_data(v_blob.data, v_blob.length, dumpdata);
 		}
 
 		ndr_v_pull = ndr_pull_init_blob(&v_blob, mem_ctx);
@@ -393,7 +404,9 @@
 
 		if (ndr_v_pull->offset != ndr_v_pull->data_size) {
 			printf("WARNING! %d unread bytes in validation\n", ndr_v_pull->data_size - ndr_v_pull->offset);
-			dump_data(0, ndr_v_pull->data+ndr_v_pull->offset, ndr_v_pull->data_size - ndr_v_pull->offset);
+			ndrdump_data(ndr_v_pull->data+ndr_v_pull->offset,
+				     ndr_v_pull->data_size - ndr_v_pull->offset,
+				     dumpdata);
 		}
 
 		ndr_v_print = talloc_zero(mem_ctx, struct ndr_print);



More information about the samba-cvs mailing list