lkml.org 
[lkml]   [2011]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] net: can: remove custom hex_to_bin()
From
Date
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()?


\
 
 \ /
  Last update: 2011-07-18 13:43    [W:1.349 / U:1.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site