From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33736) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aidmj-0000eD-Cw for qemu-devel@nongnu.org; Wed, 23 Mar 2016 04:04:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aidmg-0005Mu-61 for qemu-devel@nongnu.org; Wed, 23 Mar 2016 04:04:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33952) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aidmf-0005Mq-U7 for qemu-devel@nongnu.org; Wed, 23 Mar 2016 04:04:54 -0400 References: <1458632497-27173-1-git-send-email-109lozanoi@gmail.com> <56F1DFDB.1020701@redhat.com> From: Thomas Huth Message-ID: <56F24E22.1000006@redhat.com> Date: Wed, 23 Mar 2016 09:04:50 +0100 MIME-Version: 1.0 In-Reply-To: <56F1DFDB.1020701@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] util: Improved qemu_hexmap() to include an ascii dump of the buffer List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: John Snow , Isaac Lozano <109lozanoi@gmail.com> Cc: Peter Crosthwaite , Jason Wang , qemu-devel@nongnu.org, Gerd Hoffmann On 23.03.2016 01:14, John Snow wrote: > > On 03/22/2016 03:41 AM, Isaac Lozano wrote: >> qemu_hexdump() in util/hexdump.c has been changed to give also include a >> ascii dump of the buffer. Also, calls to hex_dump() in net/net.c have >> been replaced with calls to qemu_hexdump(). This takes care of two misc >> BiteSized Tasks. >> >> Signed-off-by: Isaac Lozano <109lozanoi@gmail.com> >> --- >> net/net.c | 31 +------------------------------ >> util/hexdump.c | 35 ++++++++++++++++++++++++----------- >> 2 files changed, 25 insertions(+), 41 deletions(-) >> >> diff --git a/net/net.c b/net/net.c >> index 1a78edf..8d51ffb 100644 >> --- a/net/net.c >> +++ b/net/net.c >> @@ -79,34 +79,6 @@ int default_net = 1; >> /***********************************************************/ >> /* network device redirectors */ >> >> -#if defined(DEBUG_NET) >> -static void hex_dump(FILE *f, const uint8_t *buf, int size) >> -{ >> - int len, i, j, c; >> - >> - for(i=0;i> - len = size - i; >> - if (len > 16) >> - len = 16; >> - fprintf(f, "%08x ", i); >> - for(j=0;j<16;j++) { >> - if (j < len) >> - fprintf(f, " %02x", buf[i+j]); >> - else >> - fprintf(f, " "); >> - } >> - fprintf(f, " "); >> - for(j=0;j> - c = buf[i+j]; >> - if (c < ' ' || c > '~') >> - c = '.'; >> - fprintf(f, "%c", c); >> - } >> - fprintf(f, "\n"); >> - } >> -} >> -#endif >> - >> static int get_str_sep(char *buf, int buf_size, const char **pp, int sep) >> { >> const char *p, *p1; >> @@ -661,8 +633,7 @@ static ssize_t qemu_send_packet_async_with_flags(NetClientState *sender, >> int ret; >> >> #ifdef DEBUG_NET >> - printf("qemu_send_packet_async:\n"); >> - hex_dump(stdout, buf, size); >> + qemu_hexdump((const char*)buf, stdout, "qemu_send_packet_async", size); >> #endif >> >> if (sender->link_down || !sender->peer) { >> diff --git a/util/hexdump.c b/util/hexdump.c >> index 1d9c129..886e53c 100644 >> --- a/util/hexdump.c >> +++ b/util/hexdump.c >> @@ -18,21 +18,34 @@ >> >> void qemu_hexdump(const char *buf, FILE *fp, const char *prefix, size_t size) >> { >> - unsigned int b; >> + unsigned int b, len, i, c; >> >> - for (b = 0; b < size; b++) { >> - if ((b % 16) == 0) { >> - fprintf(fp, "%s: %04x:", prefix, b); >> + for (b = 0; b < size; b += 16) { >> + len = size - b; >> + if (len > 16) { >> + len = 16; >> } >> - if ((b % 4) == 0) { >> - fprintf(fp, " "); >> + fprintf(fp, "%s: %04x:", prefix, b); >> + for (i = 0; i < 16; i++) { >> + if ((i % 4) == 0) { >> + fprintf(fp, " "); >> + } >> + if (i < len) { >> + fprintf(fp, " %02x", (unsigned char)buf[b + i]); >> + } >> + else >> + { >> + fprintf(fp, " "); >> + } >> } >> - fprintf(fp, " %02x", (unsigned char)buf[b]); >> - if ((b % 16) == 15) { >> - fprintf(fp, "\n"); >> + fprintf(fp, " "); >> + for (i = 0; i < len; i++) { >> + c = buf[b+i]; >> + if (c < ' ' || c > '~') { >> + c = '.'; >> + } >> + fprintf(fp, "%c", c); >> } >> - } >> - if ((b % 16) != 0) { >> fprintf(fp, "\n"); >> } >> } >> > > Don't forget to CC a maintainer when you submit a patch to the open > list, otherwise you run the risk of having your patch get lost. See: > http://wiki.qemu.org/Contribute/SubmitAPatch#CC_the_relevant_maintainer > > CCing net/net.c maintainer Jason Wang and the contributor who suggested > the BiteSizedTask, Thomas Huth (...I think. I'm not sure who else 'huth' > on the wiki might be, but he'll certainly correct me if I'm wrong...!) Thanks, that was indeed me - and I would have indeed missed this patch if you'd not put me on CC:. And I think you could also put Peter Crosthwaite and Gerd Hoffmann on CC since they are mentioned as author in the header comment of the util/hexdump.c file. Thomas