]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - lib/hexdump.c
OMAP: dmtimer: enable all timers to be wakeup events
[linux-2.6-omap-h63xx.git] / lib / hexdump.c
index 16f2e2935e87163331290f132d0db92075660acf..f07c0db81d262eb8ff185391bf6577adae064e1f 100644 (file)
@@ -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;
@@ -106,7 +109,8 @@ void hex_dump_to_buffer(const void *buf, size_t len, int rowsize,
        while (lx < (linebuflen - 1) && lx < (ascii_column - 1))
                linebuf[lx++] = ' ';
        for (j = 0; (j < rowsize) && (j < len) && (lx + 2) < linebuflen; j++)
-               linebuf[lx++] = isprint(ptr[j]) ? ptr[j] : '.';
+               linebuf[lx++] = (isascii(ptr[j]) && isprint(ptr[j])) ? ptr[j]
+                               : '.';
 nil:
        linebuf[lx++] = '\0';
 }
@@ -189,7 +193,7 @@ EXPORT_SYMBOL(print_hex_dump);
  * rowsize of 16, groupsize of 1, and ASCII output included.
  */
 void print_hex_dump_bytes(const char *prefix_str, int prefix_type,
-                       void *buf, size_t len)
+                       const void *buf, size_t len)
 {
        print_hex_dump(KERN_DEBUG, prefix_str, prefix_type, 16, 1,
                        buf, len, 1);