[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201107182041.EHB78622.VOFSHFMOOFtLJQ@I-love.SAKURA.ne.jp>
Date: Mon, 18 Jul 2011 20:41:14 +0900
From: Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>
To: andriy.shevchenko@...ux.intel.com
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] net: can: remove custom hex_to_bin()
Andy Shevchenko wrote:
> for (i = 0, dlc_pos++; i < cf.can_dlc; i++) {
> -
> - tmp = asc2nibble(sl->rbuff[dlc_pos++]);
> - if (tmp > 0x0F)
> + tmp = hex_to_bin(sl->rbuff[dlc_pos++]);
> + if (tmp < 0)
> return;
> cf.data[i] = (tmp << 4);
> - tmp = asc2nibble(sl->rbuff[dlc_pos++]);
> - if (tmp > 0x0F)
> + tmp = hex_to_bin(sl->rbuff[dlc_pos++]);
> + if (tmp < 0)
> return;
> cf.data[i] |= tmp;
> }
What about changing
void hex2bin(u8 *dst, const char *src, size_t count)
to
bool hex2bin(u8 *dst, const char *src, size_t count)
in order to do error checks like
bool hex2bin_with_validation(u8 *dst, const char *src, size_t count)
{
while (count--) {
int c = hex_to_bin(*src++);
int d;
if (c < 0)
return false;
d = hex_to_bin(*src++)
if (d < 0)
return false;
*dst++ = (c << 4) | d;
}
return true;
}
and use hex2bin() rather than hex_to_bin()?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists