aboutsummaryrefslogtreecommitdiffstats
path: root/strsuftoll.c
diff options
context:
space:
mode:
authorlukem <lukem@NetBSD.org>2004-03-05 05:58:29 +0000
committerlukem <lukem@NetBSD.org>2004-03-05 05:58:29 +0000
commit3cac59fa5b5b8e6ebd1ec4c9a16728fcfa27cd9b (patch)
tree8c1d7f9ba222fd09c0665d49c362b3a9db35741e /strsuftoll.c
parent2231f3683e89884accdd4748079ecd2438691a0b (diff)
downloadbsd-progress-3cac59fa5b5b8e6ebd1ec4c9a16728fcfa27cd9b.tar.gz
bsd-progress-3cac59fa5b5b8e6ebd1ec4c9a16728fcfa27cd9b.tar.zst
bsd-progress-3cac59fa5b5b8e6ebd1ec4c9a16728fcfa27cd9b.zip
Explicitly use base 10 when parsing numbers, to enforce the "decimal number"
semantics that the comments referred to and as per dd(1) (which was the origin of this functionality).
Diffstat (limited to 'strsuftoll.c')
-rw-r--r--strsuftoll.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/strsuftoll.c b/strsuftoll.c
index d52ff53..a4d157f 100644
--- a/strsuftoll.c
+++ b/strsuftoll.c
@@ -1,6 +1,6 @@
-/* $NetBSD: strsuftoll.c,v 1.5 2004/01/17 23:02:51 dbj Exp $ */
+/* $NetBSD: strsuftoll.c,v 1.6 2004/03/05 05:58:29 lukem Exp $ */
/*-
- * Copyright (c) 2001-2002 The NetBSD Foundation, Inc.
+ * Copyright (c) 2001-2002,2004 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
@@ -74,7 +74,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: strsuftoll.c,v 1.5 2004/01/17 23:02:51 dbj Exp $");
+__RCSID("$NetBSD: strsuftoll.c,v 1.6 2004/03/05 05:58:29 lukem Exp $");
#endif /* LIBC_SCCS and not lint */
#ifdef _LIBC
@@ -108,8 +108,10 @@ __weak_alias(strsuftollx, _strsuftollx)
* 2) A positive decimal number followed by a b (mult by 512).
* 3) A positive decimal number followed by a k (mult by 1024).
* 4) A positive decimal number followed by a m (mult by 1048576).
- * 5) A positive decimal number followed by a w (mult by sizeof int)
- * 6) Two or more positive decimal numbers (with/without k,b or w).
+ * 5) A positive decimal number followed by a g (mult by 1073741824).
+ * 6) A positive decimal number followed by a t (mult by 1099511627776).
+ * 7) A positive decimal number followed by a w (mult by sizeof int)
+ * 8) Two or more positive decimal numbers (with/without k,b or w).
* separated by x (also * for backwards compatibility), specifying
* the product of the indicated values.
* Returns the result upon successful conversion, or exits with an
@@ -152,7 +154,7 @@ strsuftollx(const char *desc, const char *val,
while (isspace((unsigned char)*val)) /* Skip leading space */
val++;
- num = strtoll(val, &expr, 0);
+ num = strtoll(val, &expr, 10);
if (errno == ERANGE)
goto erange; /* Overflow */