strtoul.c revision 1.2
11.2Sjoerg/* $NetBSD: strtoul.c,v 1.2 2008/08/20 12:42:26 joerg Exp $ */ 21.1Schristos 31.2Sjoerg/*- 41.2Sjoerg * Copyright (c) 2005 The DragonFly Project. All rights reserved. 51.2Sjoerg * Copyright (c) 2003 Citrus Project, 61.2Sjoerg * All rights reserved. 71.1Schristos * 81.1Schristos * Redistribution and use in source and binary forms, with or without 91.1Schristos * modification, are permitted provided that the following conditions 101.1Schristos * are met: 111.1Schristos * 1. Redistributions of source code must retain the above copyright 121.1Schristos * notice, this list of conditions and the following disclaimer. 131.1Schristos * 2. Redistributions in binary form must reproduce the above copyright 141.1Schristos * notice, this list of conditions and the following disclaimer in the 151.1Schristos * documentation and/or other materials provided with the distribution. 161.1Schristos * 171.2Sjoerg * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 181.1Schristos * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 191.1Schristos * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 201.2Sjoerg * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 211.1Schristos * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 221.1Schristos * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 231.1Schristos * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 241.1Schristos * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 251.1Schristos * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 261.1Schristos * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 271.1Schristos * SUCH DAMAGE. 281.1Schristos */ 291.1Schristos 301.1Schristos#include <sys/cdefs.h> 311.2Sjoerg__RCSID("$NetBSD: strtoul.c,v 1.2 2008/08/20 12:42:26 joerg Exp $"); 321.1Schristos 331.2Sjoerg#if !defined(_KERNEL) && !defined(_STANDALONE) 341.1Schristos#include <assert.h> 351.1Schristos#include <ctype.h> 361.1Schristos#include <errno.h> 371.1Schristos#include <limits.h> 381.2Sjoerg#include <stdint.h> 391.1Schristos#include <stdlib.h> 401.1Schristos#else 411.1Schristos#include <sys/param.h> 421.1Schristos#include <lib/libkern/libkern.h> 431.1Schristos#endif 441.1Schristos 451.2Sjoerg#define _FUNCNAME strtoul 461.2Sjoerg#define __UINT unsigned long int 471.2Sjoerg#define __UINT_MAX ULONG_MAX 481.1Schristos 491.2Sjoerg#include "_strtoul.h" 50