21 Sep, 2011
1 commit
-
hex2bin converts a hexadecimal string to its binary representation.
The original version of hex2bin did not do any error checking. This
patch adds error checking and returns the result.Changelog v1:
- removed unpack_hex_byte()
- changed return code from boolean to intChangelog:
- use the new unpack_hex_byte()
- add __must_check compiler option (Andy Shevchenko's suggestion)
- change function API to return error checking result
(based on Tetsuo Handa's initial patch)Signed-off-by: Mimi Zohar
Acked-by: Andy Shevchenko
14 Jan, 2011
1 commit
-
- Move prototypes and align arguments.
- Add CONFIG_PRINTK guard for print_hex functions
Signed-off-by: Joe Perches
Cc: Matt Mackall
Cc: Ingo Molnar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
29 Nov, 2010
1 commit
-
Similar to the kgdb_hex2mem() code, hex2bin converts a string
to binary using the hex_to_bin() library call.Changelog:
- Replace parameter names with src/dst (based on David Howell's comment)
- Add 'const' where needed (based on David Howell's comment)
- Replace int with size_t (based on David Howell's comment)Signed-off-by: Mimi Zohar
Acked-by: Serge E. Hallyn
Acked-by: David Howells
Signed-off-by: James Morris
25 May, 2010
2 commits
-
hex_to_bin() is a little method which converts hex digit to its actual
value. There are plenty of places where such functionality is needed.[akpm@linux-foundation.org: use tolower(), saving 3 bytes, test the more common case first - it's quicker]
[akpm@linux-foundation.org: relocate tolower to make it even faster! (Joe)]
Signed-off-by: Andy Shevchenko
Cc: Tilman Schmidt
Cc: Duncan Sands
Cc: Eric W. Biederman
Cc: Greg Kroah-Hartman
Cc: "Richard Russon (FlatCap)"
Cc: John W. Linville
Cc: Len Brown
Cc: Joe Perches
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Reduce char linebuf[200] to the actual size required., which is 32 * 3 + 2
+ 32 + 1, ie: linebuf[131].Change examples to use bool true not int 1.
Align multiline argument indentation to open parenthesis.
Use temporary for ptr[j] so trigraph fits on single line.
Convert printk ptr from %*p, (int)(2 * sizeof(void *)) to %p as %p uses
the same calculation for size.Signed-off-by: Joe Perches
Cc: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Jun, 2009
1 commit
-
For example:
hex_dump_to_buffer("AB", 2, 16, 1, buf, 100, 0);
pr_info("[%s]\n", buf);I'd expect the output to be "[41 42]", but actually it's "[41 42 ]"
This patch also makes the required buf to be minimum. To print the hex
format of "AB", a buf with size 6 should be sufficient, but
hex_dump_to_buffer() required at least 8.Signed-off-by: Li Zefan
Acked-by: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
15 May, 2008
1 commit
-
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
Acked-by: Paul Mundt
Cc: Jason Wessel
Cc: Ingo Molnar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
30 Nov, 2007
1 commit
-
As Herbert Xu pointed out, bytes (chars) with bit 7 (0x80) set are true
with isprint() but they may not be isascii() but be Unicode instead, so
don't try to print them in hex dumps.Signed-off-by: Randy Dunlap
Cc: Herbert Xu
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
12 Aug, 2007
1 commit
-
Add missing "const" qualifiers to the print_hex_dump_bytes() library routines.
(akpm: rumoured to fix some compile warning somewhere)
Signed-off-by: Alan Stern
Cc: Artem Bityutskiy
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
09 Aug, 2007
1 commit
-
Trivial fix: mark the buffer to hexdump as const so callers could avoid
casting their const buffers when calling print_hex_dump().The patch is really trivial and I suggest to consider it as a fix
(it fixes GCC warnings) and push it to current tree.Signed-off-by: Artem Bityutskiy
Signed-off-by: Linus Torvalds
09 Jun, 2007
1 commit
-
Add a prefix string parameter. Callers are responsible for any string
length/alignment that they want to see in the output. I.e., callers should
pad strings to achieve alignment if they want that.Add rowsize parameter. This is the number of raw data bytes to be printed
per line. Must be 16 or 32.Add a groupsize parameter. This allows callers to dump values as 1-byte,
2-byte, 4-byte, or 8-byte numbers. Default is 1-byte numbers. If the
total length is not an even multiple of groupsize, 1-byte numbers are
printed.Add an "ascii" output parameter. This causes ASCII data output following
the hex data output.Clean up some doc examples.
Align the ASCII output on all lines that are produced by one call.
Add a new interface, print_hex_dump_bytes(), that is a shortcut to
print_hex_dump(), using default parameter values to print 16 bytes in
byte-size chunks of hex + ASCII output, using printk level KERN_DEBUG.Signed-off-by: Randy Dunlap
Cc: Christoph Lameter
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
11 May, 2007
1 commit
-
Based on ace_dump_mem() from Grant Likely for the Xilinx SystemACE
CompactFlash interface.Add print_hex_dump() & hex_dumper() to lib/hexdump.c and linux/kernel.h.
This patch adds the functions print_hex_dump() & hex_dumper().
print_hex_dump() can be used to perform a hex + ASCII dump of data to
syslog, in an easily viewable format, thus providing a common text hex dump
format.hex_dumper() provides a dump-to-memory function. It converts one "line" of
output (16 bytes of input) at a time.Example usages:
print_hex_dump(KERN_DEBUG, DUMP_PREFIX_ADDRESS, frame->data, frame->len);
hex_dumper(frame->data, frame->len, linebuf, sizeof(linebuf));Example output using %DUMP_PREFIX_OFFSET:
0009ab42: 40414243 44454647 48494a4b 4c4d4e4f-@ABCDEFG HIJKLMNO
Example output using %DUMP_PREFIX_ADDRESS:
ffffffff88089af0: 70717273 74757677 78797a7b 7c7d7e7f-pqrstuvw xyz{|}~.[akpm@linux-foundation.org: cleanups, add export]
Signed-off-by: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds