diff options
author | lukem <lukem@NetBSD.org> | 2004-03-05 05:58:29 +0000 |
---|---|---|
committer | lukem <lukem@NetBSD.org> | 2004-03-05 05:58:29 +0000 |
commit | 3cac59fa5b5b8e6ebd1ec4c9a16728fcfa27cd9b (patch) | |
tree | 8c1d7f9ba222fd09c0665d49c362b3a9db35741e /strsuftoll.c | |
parent | 2231f3683e89884accdd4748079ecd2438691a0b (diff) | |
download | bsd-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.c | 14 |
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 */ |