[2/2] media: video: pvrusb2: remove custom hex_to_bin()

Message ID 39e0be58882d4d5fd84e2b70a8fdc38bc1b4fc41.1280233873.git.andy.shevchenko@gmail.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Andy Shevchenko July 27, 2010, 12:32 p.m. UTC
  Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Mike Isely <isely@pobox.com>
---
 drivers/media/video/pvrusb2/pvrusb2-debugifc.c |   14 ++------------
 1 files changed, 2 insertions(+), 12 deletions(-)
  

Comments

Mike Isely July 27, 2010, 1:40 p.m. UTC | #1
Andy:

Acked-By: Mike Isely <isely@pobox.com>

  -Mike


On Tue, 27 Jul 2010, Andy Shevchenko wrote:

> Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> Cc: Mike Isely <isely@pobox.com>
> ---
>  drivers/media/video/pvrusb2/pvrusb2-debugifc.c |   14 ++------------
>  1 files changed, 2 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/media/video/pvrusb2/pvrusb2-debugifc.c b/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
> index e9b11e1..4279ebb 100644
> --- a/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
> +++ b/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
> @@ -94,8 +94,6 @@ static int debugifc_parse_unsigned_number(const char *buf,unsigned int count,
>  					  u32 *num_ptr)
>  {
>  	u32 result = 0;
> -	u32 val;
> -	int ch;
>  	int radix = 10;
>  	if ((count >= 2) && (buf[0] == '0') &&
>  	    ((buf[1] == 'x') || (buf[1] == 'X'))) {
> @@ -107,17 +105,9 @@ static int debugifc_parse_unsigned_number(const char *buf,unsigned int count,
>  	}
>  
>  	while (count--) {
> -		ch = *buf++;
> -		if ((ch >= '0') && (ch <= '9')) {
> -			val = ch - '0';
> -		} else if ((ch >= 'a') && (ch <= 'f')) {
> -			val = ch - 'a' + 10;
> -		} else if ((ch >= 'A') && (ch <= 'F')) {
> -			val = ch - 'A' + 10;
> -		} else {
> +		int val = hex_to_bin(*buf++);
> +		if (val < 0 || val >= radix)
>  			return -EINVAL;
> -		}
> -		if (val >= radix) return -EINVAL;
>  		result *= radix;
>  		result += val;
>  	}
>
  

Patch

diff --git a/drivers/media/video/pvrusb2/pvrusb2-debugifc.c b/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
index e9b11e1..4279ebb 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
@@ -94,8 +94,6 @@  static int debugifc_parse_unsigned_number(const char *buf,unsigned int count,
 					  u32 *num_ptr)
 {
 	u32 result = 0;
-	u32 val;
-	int ch;
 	int radix = 10;
 	if ((count >= 2) && (buf[0] == '0') &&
 	    ((buf[1] == 'x') || (buf[1] == 'X'))) {
@@ -107,17 +105,9 @@  static int debugifc_parse_unsigned_number(const char *buf,unsigned int count,
 	}
 
 	while (count--) {
-		ch = *buf++;
-		if ((ch >= '0') && (ch <= '9')) {
-			val = ch - '0';
-		} else if ((ch >= 'a') && (ch <= 'f')) {
-			val = ch - 'a' + 10;
-		} else if ((ch >= 'A') && (ch <= 'F')) {
-			val = ch - 'A' + 10;
-		} else {
+		int val = hex_to_bin(*buf++);
+		if (val < 0 || val >= radix)
 			return -EINVAL;
-		}
-		if (val >= radix) return -EINVAL;
 		result *= radix;
 		result += val;
 	}