From 6bfcd9c37bc00efb632f648e10bf07bf69c13f2f Mon Sep 17 00:00:00 2001 From: "Andrey V. Elsukov" Date: Fri, 19 Aug 2011 12:48:06 +0000 Subject: [PATCH] The decimal() function was changed in r217808 to take the maximum value instead of number of bits. But for case when limitation is not needed it erroneously skips conversion to number and always returns zero. So, don't skip conversion for case when limitation is not needed. PR: bin/159765 Approved by: re (kib) --- sbin/fdisk/fdisk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/fdisk/fdisk.c b/sbin/fdisk/fdisk.c index eb81e3b460a..ba1ee002e9e 100644 --- a/sbin/fdisk/fdisk.c +++ b/sbin/fdisk/fdisk.c @@ -940,7 +940,7 @@ decimal(const char *str, int *num, int deflt, uint32_t maxval) return 0; while ((c = *cp++)) { if (c <= '9' && c >= '0') { - if (maxval > 0 && acc <= maxval) + if (acc <= maxval || maxval == 0) acc = acc * 10 + c - '0'; } else break;