From: Mario Six Date: Mon, 28 Jan 2019 08:43:43 +0000 (+0100) Subject: cmd: binop: Use hex2bin X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=32dbe8c58a28ea4cd1c9370be9e99fd644b9d5a7;p=u-boot.git cmd: binop: Use hex2bin Use the new hex2bin function in the binop command instead of converting the data manually. Signed-off-by: Mario Six Reviewed-by: Simon Glass --- diff --git a/cmd/binop.c b/cmd/binop.c index be780bffd7..116a2c0d55 100644 --- a/cmd/binop.c +++ b/cmd/binop.c @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -31,38 +32,15 @@ void write_to_env_var(char *varname, u8 *result, ulong len) free(str_output); } -void decode_hexstring(char *hexstr, u8 *result) -{ - int i; - int acc = 0; - - for (i = 0; i < strlen(hexstr); ++i) { - char d = hexstr[i]; - int value; - - if (isdigit(d)) - value = (d - '0'); - else - value = (islower(d) ? toupper(d) : d) - 'A' + 10; - - if (i % 2 == 0) { - acc = value * 16; - } else { - result[i / 2] = acc + value; - acc = 0; - } - } -} - void read_from_env_var(char *varname, u8 *result) { char *str_value; str_value = env_get(varname); if (str_value) - decode_hexstring(str_value, result); + hex2bin(result, str_value, strlen(str_value) / 2); else - decode_hexstring(varname, result); + hex2bin(result, varname, strlen(varname) / 2); } void read_from_mem(ulong addr, u8 *result, ulong len)