Add strtoxx functions
This commit is contained in:
parent
f0cd52ac24
commit
a1e023d7a4
|
@ -14,6 +14,7 @@ libspl_la_SOURCES = \
|
|||
${top_srcdir}/lib/libspl/strlcat.c \
|
||||
${top_srcdir}/lib/libspl/strlcpy.c \
|
||||
${top_srcdir}/lib/libspl/strnlen.c \
|
||||
${top_srcdir}/lib/libspl/strtoxx.c \
|
||||
${top_srcdir}/lib/libspl/u8_textprep.c \
|
||||
${top_srcdir}/lib/libspl/zone.c \
|
||||
${top_srcdir}/lib/libspl/include/sys/list.h \
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* CDDL HEADER START
|
||||
*
|
||||
* The contents of this file are subject to the terms of the
|
||||
* Common Development and Distribution License, Version 1.0 only
|
||||
* (the "License"). You may not use this file except in compliance
|
||||
* with the License.
|
||||
*
|
||||
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
* or http://www.opensolaris.org/os/licensing.
|
||||
* See the License for the specific language governing permissions
|
||||
* and limitations under the License.
|
||||
*
|
||||
* When distributing Covered Code, include this CDDL HEADER in each
|
||||
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
* If applicable, add the following below this CDDL HEADER, with the
|
||||
* fields enclosed by brackets "[]" replaced with your own identifying
|
||||
* information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
*
|
||||
* CDDL HEADER END
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2008 by Sun Microsystems, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_SUNDDI_H
|
||||
#define _SYS_SUNDDI_H
|
||||
|
||||
extern int ddi_strtoul(const char *, char **, int, unsigned long *);
|
||||
extern int ddi_strtol(const char *, char **, int, long *);
|
||||
extern int ddi_strtoull(const char *, char **, int, unsigned long long *);
|
||||
extern int ddi_strtoll(const char *, char **, int, long long *);
|
||||
|
||||
#endif /* _SYS_SUNDDI_H */
|
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
* CDDL HEADER START
|
||||
*
|
||||
* The contents of this file are subject to the terms of the
|
||||
* Common Development and Distribution License (the "License").
|
||||
* You may not use this file except in compliance with the License.
|
||||
*
|
||||
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
* or http://www.opensolaris.org/os/licensing.
|
||||
* See the License for the specific language governing permissions
|
||||
* and limitations under the License.
|
||||
*
|
||||
* When distributing Covered Code, include this CDDL HEADER in each
|
||||
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
* If applicable, add the following below this CDDL HEADER, with the
|
||||
* fields enclosed by brackets "[]" replaced with your own identifying
|
||||
* information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
*
|
||||
* CDDL HEADER END
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
|
||||
* Use is subject to license terms.
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <sys/sunddi.h>
|
||||
|
||||
int
|
||||
ddi_strtoul(const char *str, char **endptr, int base,
|
||||
unsigned long *result)
|
||||
{
|
||||
unsigned long val;
|
||||
|
||||
errno = 0;
|
||||
val = strtoul(str, endptr, base);
|
||||
if (errno == 0)
|
||||
*result = val;
|
||||
|
||||
return errno;
|
||||
}
|
||||
|
||||
int
|
||||
ddi_strtol(const char *str, char **endptr, int base,
|
||||
long *result)
|
||||
{
|
||||
long val;
|
||||
|
||||
errno = 0;
|
||||
val = strtol(str, endptr, base);
|
||||
if (errno == 0)
|
||||
*result = val;
|
||||
|
||||
return errno;
|
||||
}
|
||||
|
||||
int
|
||||
ddi_strtoull(const char *str, char **endptr, int base,
|
||||
unsigned long long *result)
|
||||
{
|
||||
unsigned long long val;
|
||||
|
||||
errno = 0;
|
||||
val = strtoull(str, endptr, base);
|
||||
if (errno == 0)
|
||||
*result = val;
|
||||
|
||||
return errno;
|
||||
}
|
||||
|
||||
int
|
||||
ddi_strtoll(const char *str, char **endptr, int base,
|
||||
long long *result)
|
||||
{
|
||||
long long val;
|
||||
|
||||
errno = 0;
|
||||
val = strtoll(str, endptr, base);
|
||||
if (errno == 0)
|
||||
*result = val;
|
||||
|
||||
return errno;
|
||||
}
|
Loading…
Reference in New Issue