Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src use strtonum from libc (Kamil Rytarowski)
details: https://anonhg.NetBSD.org/src/rev/b9f38ed5145b
branches: trunk
changeset: 335893:b9f38ed5145b
user: christos <christos%NetBSD.org@localhost>
date: Thu Jan 29 03:28:19 2015 +0000
description:
use strtonum from libc (Kamil Rytarowski)
diffstat:
usr.bin/sdiff/Makefile | 5 +-
usr.bin/sdiff/common.h | 6 +---
usr.bin/sdiff/strtonum.c | 68 --------------------------------------------
usr.sbin/gpioctl/Makefile | 5 +-
usr.sbin/gpioctl/gpioctl.c | 5 +--
usr.sbin/gpioctl/strtonum.c | 69 ---------------------------------------------
6 files changed, 8 insertions(+), 150 deletions(-)
diffs (211 lines):
diff -r 855bebc9b844 -r b9f38ed5145b usr.bin/sdiff/Makefile
--- a/usr.bin/sdiff/Makefile Thu Jan 29 03:27:06 2015 +0000
+++ b/usr.bin/sdiff/Makefile Thu Jan 29 03:28:19 2015 +0000
@@ -1,9 +1,10 @@
-# $NetBSD: Makefile,v 1.2 2009/04/14 22:15:26 lukem Exp $
+# $NetBSD: Makefile,v 1.3 2015/01/29 03:28:19 christos Exp $
WARNS?= 2 # XXX -Wcast-qual issues
PROG= sdiff
-SRCS= common.c edit.c sdiff.c strtonum.c
+SRCS= common.c edit.c sdiff.c
+CPPFLAGS+=-D_OPENBSD_SOURCE
LDADD+= -lutil
DPADD+= ${LIBUTIL}
diff -r 855bebc9b844 -r b9f38ed5145b usr.bin/sdiff/common.h
--- a/usr.bin/sdiff/common.h Thu Jan 29 03:27:06 2015 +0000
+++ b/usr.bin/sdiff/common.h Thu Jan 29 03:28:19 2015 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: common.h,v 1.1 2007/02/18 22:13:42 rmind Exp $ */
+/* $NetBSD: common.h,v 1.2 2015/01/29 03:28:19 christos Exp $ */
/* $OpenBSD: common.h,v 1.2 2006/05/25 03:20:32 ray Exp $ */
/*
@@ -7,7 +7,3 @@
*/
__dead void cleanup(const char *);
-
-long long
-strtonum(const char *numstr, long long minval, long long maxval,
- const char **errstrp);
diff -r 855bebc9b844 -r b9f38ed5145b usr.bin/sdiff/strtonum.c
--- a/usr.bin/sdiff/strtonum.c Thu Jan 29 03:27:06 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/* $NetBSD: strtonum.c,v 1.1 2007/02/18 22:13:43 rmind Exp $ */
-/* $OpenBSD: strtonum.c,v 1.6 2004/08/03 19:38:01 millert Exp $ */
-
-/*
- * Copyright (c) 2004 Ted Unangst and Todd Miller
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include <errno.h>
-#include <limits.h>
-#include <stdlib.h>
-
-#include "common.h"
-
-#define INVALID 1
-#define TOOSMALL 2
-#define TOOLARGE 3
-
-long long
-strtonum(const char *numstr, long long minval, long long maxval,
- const char **errstrp)
-{
- long long ll = 0;
- char *ep;
- int error = 0;
- struct errval {
- const char *errstr;
- int err;
- } ev[4] = {
- { NULL, 0 },
- { "invalid", EINVAL },
- { "too small", ERANGE },
- { "too large", ERANGE },
- };
-
- ev[0].err = errno;
- errno = 0;
- if (minval > maxval)
- error = INVALID;
- else {
- ll = strtoll(numstr, &ep, 10);
- if (numstr == ep || *ep != '\0')
- error = INVALID;
- else if ((ll == LLONG_MIN && errno == ERANGE) || ll < minval)
- error = TOOSMALL;
- else if ((ll == LLONG_MAX && errno == ERANGE) || ll > maxval)
- error = TOOLARGE;
- }
- if (errstrp != NULL)
- *errstrp = ev[error].errstr;
- errno = ev[error].err;
- if (error)
- ll = 0;
-
- return (ll);
-}
diff -r 855bebc9b844 -r b9f38ed5145b usr.sbin/gpioctl/Makefile
--- a/usr.sbin/gpioctl/Makefile Thu Jan 29 03:27:06 2015 +0000
+++ b/usr.sbin/gpioctl/Makefile Thu Jan 29 03:28:19 2015 +0000
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.4 2009/07/25 16:18:09 mbalmer Exp $
+# $NetBSD: Makefile,v 1.5 2015/01/29 03:30:06 christos Exp $
PROG= gpioctl
-SRCS= gpioctl.c strtonum.c
+SRCS= gpioctl.c
+CPPFLAGS+=-D_OPENBSD_SOURCE
MAN= gpioctl.8
diff -r 855bebc9b844 -r b9f38ed5145b usr.sbin/gpioctl/gpioctl.c
--- a/usr.sbin/gpioctl/gpioctl.c Thu Jan 29 03:27:06 2015 +0000
+++ b/usr.sbin/gpioctl/gpioctl.c Thu Jan 29 03:28:19 2015 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: gpioctl.c,v 1.20 2013/05/19 15:31:23 mbalmer Exp $ */
+/* $NetBSD: gpioctl.c,v 1.21 2015/01/29 03:30:06 christos Exp $ */
/*
* Copyright (c) 2008, 2010, 2011, 2013 Marc Balmer <mbalmer%NetBSD.org@localhost>
@@ -49,9 +49,6 @@
static void devattach(char *, int, uint32_t, uint32_t);
__dead static void usage(void);
-extern long long strtonum(const char *numstr, long long minval,
- long long maxval, const char **errstrp);
-
static const struct bitstr {
unsigned int mask;
const char *string;
diff -r 855bebc9b844 -r b9f38ed5145b usr.sbin/gpioctl/strtonum.c
--- a/usr.sbin/gpioctl/strtonum.c Thu Jan 29 03:27:06 2015 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/* $NetBSD: strtonum.c,v 1.1 2009/07/25 16:18:09 mbalmer Exp $ */
-/* $OpenBSD: strtonum.c,v 1.6 2004/08/03 19:38:01 millert Exp $ */
-
-/*
- * Copyright (c) 2004 Ted Unangst and Todd Miller
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include <errno.h>
-#include <limits.h>
-#include <stdlib.h>
-
-#define INVALID 1
-#define TOOSMALL 2
-#define TOOLARGE 3
-
-long long strtonum(const char *numstr, long long minval, long long maxval,
- const char **errstrp);
-
-long long
-strtonum(const char *numstr, long long minval, long long maxval,
- const char **errstrp)
-{
- long long ll = 0;
- char *ep;
- int error = 0;
- struct errval {
- const char *errstr;
- int err;
- } ev[4] = {
- { NULL, 0 },
- { "invalid", EINVAL },
- { "too small", ERANGE },
- { "too large", ERANGE },
- };
-
- ev[0].err = errno;
- errno = 0;
- if (minval > maxval)
- error = INVALID;
- else {
- ll = strtoll(numstr, &ep, 10);
- if (numstr == ep || *ep != '\0')
- error = INVALID;
- else if ((ll == LLONG_MIN && errno == ERANGE) || ll < minval)
- error = TOOSMALL;
- else if ((ll == LLONG_MAX && errno == ERANGE) || ll > maxval)
- error = TOOLARGE;
- }
- if (errstrp != NULL)
- *errstrp = ev[error].errstr;
- errno = ev[error].err;
- if (error)
- ll = 0;
-
- return (ll);
-}
Home |
Main Index |
Thread Index |
Old Index