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