Commit dc88e460 authored by Mimi Zohar's avatar Mimi Zohar Committed by James Morris

lib: hex2bin converts ascii hexadecimal string to binary

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: default avatarMimi Zohar <zohar@us.ibm.com>
Acked-by: default avatarSerge E. Hallyn <serge@hallyn.com>
Acked-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarJames Morris <jmorris@namei.org>
parent ce6ada35
...@@ -265,6 +265,7 @@ static inline char *pack_hex_byte(char *buf, u8 byte) ...@@ -265,6 +265,7 @@ static inline char *pack_hex_byte(char *buf, u8 byte)
} }
extern int hex_to_bin(char ch); extern int hex_to_bin(char ch);
extern void hex2bin(u8 *dst, const char *src, size_t count);
/* /*
* General tracing related utility functions - trace_printk(), * General tracing related utility functions - trace_printk(),
......
...@@ -33,6 +33,22 @@ int hex_to_bin(char ch) ...@@ -33,6 +33,22 @@ int hex_to_bin(char ch)
} }
EXPORT_SYMBOL(hex_to_bin); EXPORT_SYMBOL(hex_to_bin);
/**
* hex2bin - convert an ascii hexadecimal string to its binary representation
* @dst: binary result
* @src: ascii hexadecimal string
* @count: result length
*/
void hex2bin(u8 *dst, const char *src, size_t count)
{
while (count--) {
*dst = hex_to_bin(*src++) << 4;
*dst += hex_to_bin(*src++);
dst++;
}
}
EXPORT_SYMBOL(hex2bin);
/** /**
* hex_dump_to_buffer - convert a blob of data to "hex ASCII" in memory * hex_dump_to_buffer - convert a blob of data to "hex ASCII" in memory
* @buf: data blob to dump * @buf: data blob to dump
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment