lib: create common ascii hex array
Add a common hex array in hexdump.c so everyone can use it. Add a common hi/lo helper to avoid the shifting masking that is done to get the upper and lower nibbles of a byte value. Pull the pack_hex_byte helper from kgdb as it is opencoded many places in the tree that will be consolidated. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Acked-by: Paul Mundt <lethal@linux-sh.org> Cc: Jason Wessel <jason.wessel@windriver.com> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
122a881c77
commit
3fc957721d
@@ -12,6 +12,9 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
const char hex_asc[] = "0123456789abcdef";
|
||||
EXPORT_SYMBOL(hex_asc);
|
||||
|
||||
/**
|
||||
* hex_dump_to_buffer - convert a blob of data to "hex ASCII" in memory
|
||||
* @buf: data blob to dump
|
||||
@@ -93,8 +96,8 @@ void hex_dump_to_buffer(const void *buf, size_t len, int rowsize,
|
||||
for (j = 0; (j < rowsize) && (j < len) && (lx + 4) < linebuflen;
|
||||
j++) {
|
||||
ch = ptr[j];
|
||||
linebuf[lx++] = hex_asc(ch >> 4);
|
||||
linebuf[lx++] = hex_asc(ch & 0x0f);
|
||||
linebuf[lx++] = hex_asc_hi(ch);
|
||||
linebuf[lx++] = hex_asc_lo(ch);
|
||||
linebuf[lx++] = ' ';
|
||||
}
|
||||
ascii_column = 3 * rowsize + 2;
|
||||
|
Reference in New Issue
Block a user