further fixes of string_to_number fixes
diff --git a/extensions/libipt_limit.c b/extensions/libipt_limit.c
index 58c2ebd..23924a7 100644
--- a/extensions/libipt_limit.c
+++ b/extensions/libipt_limit.c
@@ -98,7 +98,7 @@
       struct ipt_entry_match **match)
 {
 	struct ipt_rateinfo *r = (struct ipt_rateinfo *)(*match)->data;
-	int num;
+	unsigned int num;
 
 	switch(c) {
 	case '%':
@@ -115,8 +115,7 @@
 			exit_error(PARAMETER_PROBLEM,
 				   "Unexpected `!' after --limit-burst");
 
-		num = string_to_number(optarg, 0, 10000);
-		if (num <= 0)
+		if (string_to_number(optarg, 0, 10000, &num) <= 0)
 			exit_error(PARAMETER_PROBLEM,
 				   "bad --limit-burst `%s'", optarg);
 		r->burst = num;