Skip to content

Commit

Permalink
sunrpc/cache: don't use custom hex_to_bin() converter
Browse files Browse the repository at this point in the history
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: linux-nfs@vger.kernel.org
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
  • Loading branch information
Andy Shevchenko authored and J. Bruce Fields committed Sep 22, 2010
1 parent 1117449 commit e7f483e
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions net/sunrpc/cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -1179,13 +1179,19 @@ int qword_get(char **bpp, char *dest, int bufsize)
if (bp[0] == '\\' && bp[1] == 'x') {
/* HEX STRING */
bp += 2;
while (isxdigit(bp[0]) && isxdigit(bp[1]) && len < bufsize) {
int byte = isdigit(*bp) ? *bp-'0' : toupper(*bp)-'A'+10;
bp++;
byte <<= 4;
byte |= isdigit(*bp) ? *bp-'0' : toupper(*bp)-'A'+10;
*dest++ = byte;
bp++;
while (len < bufsize) {
int h, l;

h = hex_to_bin(bp[0]);
if (h < 0)
break;

l = hex_to_bin(bp[1]);
if (l < 0)
break;

*dest++ = (h << 4) | l;
bp += 2;
len++;
}
} else {
Expand Down

0 comments on commit e7f483e

Please sign in to comment.