further fixes of string_to_number fixes
diff --git a/extensions/libipt_icmp.c b/extensions/libipt_icmp.c
index 6390518..a8b6bd1 100644
--- a/extensions/libipt_icmp.c
+++ b/extensions/libipt_icmp.c
@@ -133,7 +133,7 @@
 	} else {
 		char *slash;
 		char buffer[strlen(icmptype) + 1];
-		int number;
+		unsigned int number;
 
 		strcpy(buffer, icmptype);
 		slash = strchr(buffer, '/');
@@ -141,14 +141,12 @@
 		if (slash)
 			*slash = '\0';
 
-		number = string_to_number(buffer, 0, 255);
-		if (number == -1)
+		if (string_to_number(buffer, 0, 255, &number) == -1)
 			exit_error(PARAMETER_PROBLEM,
 				   "Invalid ICMP type `%s'\n", buffer);
 		*type = number;
 		if (slash) {
-			number = string_to_number(slash+1, 0, 255);
-			if (number == -1)
+			if (string_to_number(slash+1, 0, 255, &number) == -1)
 				exit_error(PARAMETER_PROBLEM,
 					   "Invalid ICMP code `%s'\n",
 					   slash+1);