From 1385899416a4396385ad421ae1f532be7103738a Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sun, 8 Oct 2006 12:49:22 +0000 Subject: attempt to regularize atoi mess. --- libbb/parse_number.c | 50 -------------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 libbb/parse_number.c (limited to 'libbb/parse_number.c') diff --git a/libbb/parse_number.c b/libbb/parse_number.c deleted file mode 100644 index c7dafb7..0000000 --- a/libbb/parse_number.c +++ /dev/null @@ -1,50 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * bb_xparse_number implementation for busybox - * - * Copyright (C) 2003 Manuel Novoa III - * - * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. - */ - -#include -#include -#include -#include -#include -#include "libbb.h" - -unsigned long bb_xparse_number(const char *numstr, - const struct suffix_mult *suffixes) -{ - unsigned long int r; - char *e; - int old_errno; - - /* Since this is a lib function, we're not allowed to reset errno to 0. - * Doing so could break an app that is deferring checking of errno. - * So, save the old value so that we can restore it if successful. */ - old_errno = errno; - errno = 0; - r = strtoul(numstr, &e, 10); - - if ((numstr != e) && !errno) { - errno = old_errno; /* Ok. So restore errno. */ - if (!*e) { - return r; - } - if (suffixes) { - assert(suffixes->suffix); /* No nul suffixes. */ - do { - if (strcmp(suffixes->suffix, e) == 0) { - if (ULONG_MAX / suffixes->mult < r) { /* Overflow! */ - break; - } - return r * suffixes->mult; - } - ++suffixes; - } while (suffixes->suffix); - } - } - bb_error_msg_and_die("invalid number '%s'", numstr); -} -- cgit v1.1