1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
/*
* Copyright (C) 1996-2026 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
* Please see the COPYING and CONTRIBUTORS files for details.
*/
#ifndef SQUID_COMPAT_XSTRTO_H
#define SQUID_COMPAT_XSTRTO_H
// this function is not used by the remaining Squid C code
#if defined(__cplusplus)
/**
* Convert a c-string (or its prefix) into an unsigned integer.
* \param s input string
* \param end like strtoul's "end" pointer
* \param value pointer for result. Undefined on failure
* \param min minimum accepted value
* \param max maximum accepted value
*
* If @end is nullptr, we assume the caller wants a "strict strtoul", and hence
* "15a" is rejected.
* In either case, the value obtained is compared for min-max compliance.
* Base is always 0, i.e. autodetect depending on @s.
*
* \return true/false whether number was accepted. On failure, *value has
* undefined contents.
*/
bool xstrtoui(const char *s, char **end, unsigned int *value,
unsigned int min, unsigned int max);
#endif /* __cplusplus */
#endif /* SQUID_COMPAT_XSTRTO_H */
|