further fixes of string_to_number fixes
diff --git a/extensions/libipt_tcp.c b/extensions/libipt_tcp.c
index fb99bec..1b0a37a 100644
--- a/extensions/libipt_tcp.c
+++ b/extensions/libipt_tcp.c
@@ -52,9 +52,9 @@
 static u_int16_t
 parse_tcp_port(const char *port)
 {
-	int portnum;
+	unsigned int portnum;
 
-	if ((portnum = string_to_number(port, 0, 65535)) != -1 ||
+	if (string_to_number(port, 0, 65535, &portnum) != -1 ||
 	    (portnum = service_to_port(port)) != -1)
 		return (u_int16_t)portnum;
 
@@ -141,10 +141,9 @@
 static void
 parse_tcp_option(const char *option, u_int8_t *result)
 {
-	int ret;
+	unsigned int ret;
 
-	ret = string_to_number(option, 1, 255);
-	if (ret == -1)
+	if (string_to_number(option, 1, 255, &ret) == -1)
 		exit_error(PARAMETER_PROBLEM, "Bad TCP option `%s'", option);
 
 	*result = (u_int8_t)ret;