mirror of
https://github.com/samba-team/samba.git
synced 2025-03-29 02:50:28 +03:00
librpc/ndr: make use of dump_data_cb() in ndr_dump_data()
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
This commit is contained in:
parent
4a0370bdfd
commit
2b163012aa
@ -1229,11 +1229,11 @@ _PUBLIC_ void ndr_print_array_uint8(struct ndr_print *ndr, const char *name,
|
||||
#undef _ONELINE_LIMIT
|
||||
}
|
||||
|
||||
static void ndr_print_asc(struct ndr_print *ndr, const uint8_t *buf, int len)
|
||||
static void ndr_print_dump_data_cb(const char *buf, void *private_data)
|
||||
{
|
||||
int i;
|
||||
for (i=0;i<len;i++)
|
||||
ndr->print(ndr, "%c", isprint(buf[i])?buf[i]:'.');
|
||||
struct ndr_print *ndr = (struct ndr_print *)private_data;
|
||||
|
||||
ndr->print(ndr, "%s", buf);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1241,37 +1241,8 @@ static void ndr_print_asc(struct ndr_print *ndr, const uint8_t *buf, int len)
|
||||
*/
|
||||
static void ndr_dump_data(struct ndr_print *ndr, const uint8_t *buf, int len)
|
||||
{
|
||||
int i=0;
|
||||
|
||||
ndr->no_newline = true;
|
||||
|
||||
for (i=0;i<len;) {
|
||||
if (i%16 == 0 && i<len) {
|
||||
ndr->print(ndr, "[%04X] ",i);
|
||||
}
|
||||
|
||||
ndr->print(ndr, "%02X ",(int)buf[i]);
|
||||
i++;
|
||||
if (i%8 == 0) ndr->print(ndr," ");
|
||||
if (i%16 == 0) {
|
||||
ndr_print_asc(ndr,&buf[i-16],8); ndr->print(ndr," ");
|
||||
ndr_print_asc(ndr,&buf[i-8],8); ndr->print(ndr, "\n");
|
||||
}
|
||||
}
|
||||
|
||||
if (i%16) {
|
||||
int n;
|
||||
n = 16 - (i%16);
|
||||
ndr->print(ndr, " ");
|
||||
if (n>8) ndr->print(ndr," ");
|
||||
while (n--) ndr->print(ndr," ");
|
||||
n = MIN(8,i%16);
|
||||
ndr_print_asc(ndr,&buf[i-(i%16)],n); ndr->print(ndr, " ");
|
||||
n = (i%16) - n;
|
||||
if (n>0) ndr_print_asc(ndr,&buf[i-n],n);
|
||||
ndr->print(ndr,"\n");
|
||||
}
|
||||
|
||||
dump_data_cb(buf, len, true, ndr_print_dump_data_cb, ndr);
|
||||
ndr->no_newline = false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user