diff options
author | Andre Naujoks <nautsch2@gmail.com> | 2013-09-13 19:37:12 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-09-20 15:38:26 -0400 |
commit | c26d436cbf7a9549ec1073480a2e3f0d3f64e02d (patch) | |
tree | 6ba037fbde3d391864208ce94e2b61dc536bab10 | |
parent | cc9fa74e2a195f7bab27fbbc4896d2fe3ec32150 (diff) | |
download | lwn-c26d436cbf7a9549ec1073480a2e3f0d3f64e02d.tar.gz lwn-c26d436cbf7a9549ec1073480a2e3f0d3f64e02d.zip |
lib: introduce upper case hex ascii helpers
To be able to use the hex ascii functions in case sensitive environments
the array hex_asc_upper[] and the needed functions for hex_byte_pack_upper()
are introduced.
Signed-off-by: Andre Naujoks <nautsch2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/linux/kernel.h | 11 | ||||
-rw-r--r-- | lib/hexdump.c | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 482ad2d84a32..672ddc4de4af 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -439,6 +439,17 @@ static inline char *hex_byte_pack(char *buf, u8 byte) return buf; } +extern const char hex_asc_upper[]; +#define hex_asc_upper_lo(x) hex_asc_upper[((x) & 0x0f)] +#define hex_asc_upper_hi(x) hex_asc_upper[((x) & 0xf0) >> 4] + +static inline char *hex_byte_pack_upper(char *buf, u8 byte) +{ + *buf++ = hex_asc_upper_hi(byte); + *buf++ = hex_asc_upper_lo(byte); + return buf; +} + static inline char * __deprecated pack_hex_byte(char *buf, u8 byte) { return hex_byte_pack(buf, byte); diff --git a/lib/hexdump.c b/lib/hexdump.c index 3f0494c9d57a..8499c810909a 100644 --- a/lib/hexdump.c +++ b/lib/hexdump.c @@ -14,6 +14,8 @@ const char hex_asc[] = "0123456789abcdef"; EXPORT_SYMBOL(hex_asc); +const char hex_asc_upper[] = "0123456789ABCDEF"; +EXPORT_SYMBOL(hex_asc_upper); /** * hex_to_bin - convert a hex digit to its real value |