wireless: use newly introduced hex_to_bin()

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Corey Thomas <coreythomas@charter.net>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Andy Shevchenko 2010-07-23 03:18:09 +00:00 committed by David S. Miller
parent fd1f170dfc
commit 882d829a23

View file

@ -97,7 +97,6 @@ static iw_stats *ray_get_wireless_stats(struct net_device *dev);
static const struct iw_handler_def ray_handler_def;
/***** Prototypes for raylink functions **************************************/
static int asc_to_int(char a);
static void authenticate(ray_dev_t *local);
static int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type);
static void authenticate_timeout(u_long);
@ -1716,24 +1715,6 @@ static void authenticate_timeout(u_long data)
join_net((u_long) local);
}
/*===========================================================================*/
static int asc_to_int(char a)
{
if (a < '0')
return -1;
if (a <= '9')
return (a - '0');
if (a < 'A')
return -1;
if (a <= 'F')
return (10 + a - 'A');
if (a < 'a')
return -1;
if (a <= 'f')
return (10 + a - 'a');
return -1;
}
/*===========================================================================*/
static int parse_addr(char *in_str, UCHAR *out)
{
@ -1754,14 +1735,14 @@ static int parse_addr(char *in_str, UCHAR *out)
i = 5;
while (j > 0) {
if ((k = asc_to_int(in_str[j--])) != -1)
if ((k = hex_to_bin(in_str[j--])) != -1)
out[i] = k;
else
return 0;
if (j == 0)
break;
if ((k = asc_to_int(in_str[j--])) != -1)
if ((k = hex_to_bin(in_str[j--])) != -1)
out[i] += k << 4;
else
return 0;