Files
rtems/cpukit/libmisc/stringto/stringtounsignedint.c
T
Kinsey Moore 120bc92b04 libmisc/stringto: Resolve error on 64bit systems
On 32bit systems, int and long are the same size. This is not the case
on 64bit systems. This corrects the maximum value of the stringto type
on those systems.
2026-02-06 13:29:20 -06:00

47 lines
1.8 KiB
C

/* SPDX-License-Identifier: BSD-2-Clause */
/**
* @file
*
* @ingroup libmisc_conv_help Conversion Helpers
*
* @brief Convert String to Unsigned Int (with validation)
*/
/*
* Copyright (c) 2009 On-Line Applications Research Corporation (OAR).
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Instantiate an error checking wrapper for strtoul (unsigned int)
*/
#include <rtems/stringto.h>
#define STRING_TO_INTEGER
#define STRING_TO_TYPE unsigned int
#define STRING_TO_NAME rtems_string_to_unsigned_int
#define STRING_TO_METHOD strtoul
#define STRING_TO_MAX UINT_MAX
#include "stringto_template.h"