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: Mimi Zohar <zohar@us.ibm.com>
Acked-by: Serge E. Hallyn <serge@hallyn.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
Mimi Zohar 2010-11-23 17:50:31 -05:00 committed by James Morris
parent ce6ada35bd
commit dc88e46029
2 changed files with 17 additions and 0 deletions

View File

@ -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(),

View File

@ -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