These functions are identical to strtoi(3bsd) and strtou(3bsd), except for one important thing: if both ERANGE and ENOTSUP conditions happen, the BSD functions report ENOTSUP, which is bogus; our strtoi_() and strtou_() report ERANGE. Link: <https://lists.sr.ht/~hallyn/shadow/%3CZZoQDms6Sv6e5SPE%40debian%3E> Link: <https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=57828> Cc: Thorsten Glaser <tg@mirbsd.de> Cc: christos <christos@netbsd.org> Cc: roy <roy@netbsd.org> Cc: Guillem Jover <guillem@hadrons.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
16 lines
449 B
C
16 lines
449 B
C
// SPDX-FileCopyrightText: 2023, Alejandro Colomar <alx@kernel.org>
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
|
|
#include <config.h>
|
|
|
|
#include "atoi/strtoi.h"
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
extern inline intmax_t strtoi_(const char *s, char **restrict endp, int base,
|
|
intmax_t min, intmax_t max, int *restrict status);
|
|
extern inline uintmax_t strtou_(const char *s, char **restrict endp, int base,
|
|
uintmax_t min, uintmax_t max, int *restrict status);
|