ustr-parse.h
#ifndef USTR_PARSE_H
#define USTR_PARSE_H 1
#ifndef USTR_MAIN_H
#error " You should have already included ustr-main.h, or just include ustr.h."
#endif
#define USTR_TYPE_PARSE_NUM_ERR_NONE 0
#define USTR_TYPE_PARSE_NUM_ERR_ONLY_S 1
#define USTR_TYPE_PARSE_NUM_ERR_ONLY_SPM 2
#define USTR_TYPE_PARSE_NUM_ERR_ONLY_SPMX 3
#define USTR_TYPE_PARSE_NUM_ERR_OOB 4
#define USTR_TYPE_PARSE_NUM_ERR_OVERFLOW 5
#define USTR_TYPE_PARSE_NUM_ERR_NEGATIVE 6
#define USTR_TYPE_PARSE_NUM_ERR_BEG_ZERO 7
#define USTR_FLAG_PARSE_NUM_DEF 0U
#define USTR__MASK_PARSE_NUM_BASE (63)
#define USTR_FLAG_PARSE_NUM_SEP (1U<<7)
#define USTR_FLAG_PARSE_NUM_OVERFLOW (1U<<8)
#define USTR_FLAG_PARSE_NUM_SPACE (1U<<9)
#define USTR_FLAG_PARSE_NUM_NO_BEG_ZERO (1U<<10)
#define USTR_FLAG_PARSE_NUM_NO_BEG_PM (1U<<11)
#define USTR_FLAG_PARSE_NUM_NO_NEGATIVE (1U<<12)
#define USTR_FLAG_PARSE_NUM_EXACT (1U<<13)
#if USTR_CONF_HAVE_STDINT_H
USTR_CONF_E_PROTO
uintmax_t ustr_parse_uintmaxx(const struct Ustr *, size_t, unsigned int,
uintmax_t, uintmax_t, const char *,
size_t *,unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1, 6));
USTR_CONF_E_PROTO
uintmax_t ustr_parse_uintmax(const struct Ustr *, size_t, unsigned int, size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_E_PROTO
intmax_t ustr_parse_intmax(const struct Ustr *, size_t, unsigned int, size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
#endif
USTR_CONF_E_PROTO
unsigned long ustr_parse_ulongx(const struct Ustr *, size_t, unsigned int,
unsigned long, unsigned long,
const char *, size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1, 6));
USTR_CONF_E_PROTO
unsigned long ustr_parse_ulong(const struct Ustr *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_E_PROTO
long ustr_parse_long(const struct Ustr *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_E_PROTO
unsigned int ustr_parse_uint(const struct Ustr *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_E_PROTO
int ustr_parse_int(const struct Ustr *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_E_PROTO
unsigned short ustr_parse_ushort(const struct Ustr *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_E_PROTO
short ustr_parse_short(const struct Ustr *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
#if USTR_CONF_INCLUDE_CODEONLY_HEADERS
# include "ustr-parse-code.h"
#endif
#if USTR_CONF_HAVE_STDINT_H
USTR_CONF_EI_PROTO
uintmax_t ustrp_parse_uintmaxx(const struct Ustrp *, size_t, unsigned int,
uintmax_t, uintmax_t, const char *,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1, 6));
USTR_CONF_EI_PROTO
uintmax_t ustrp_parse_uintmax(const struct Ustrp *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_EI_PROTO
intmax_t ustrp_parse_intmax(const struct Ustrp *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
#endif
USTR_CONF_EI_PROTO
unsigned long ustrp_parse_ulongx(const struct Ustrp *, size_t, unsigned int,
unsigned long, unsigned long,
const char *, size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1, 6));
USTR_CONF_EI_PROTO
unsigned long ustrp_parse_ulong(const struct Ustrp *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_EI_PROTO
long ustrp_parse_long(const struct Ustrp *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_EI_PROTO
unsigned int ustrp_parse_uint(const struct Ustrp *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_EI_PROTO
int ustrp_parse_int(const struct Ustrp *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_EI_PROTO
unsigned short ustrp_parse_ushort(const struct Ustrp *, size_t, unsigned int,
size_t *, unsigned *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
USTR_CONF_EI_PROTO
short ustrp_parse_short(const struct Ustrp *, size_t, unsigned int,
size_t *, unsigned int *)
USTR__COMPILE_ATTR_WARN_UNUSED_RET() USTR__COMPILE_ATTR_NONNULL_L((1));
#if USTR_CONF_COMPILE_USE_INLINE
# if USTR_CONF_HAVE_STDINT_H
USTR_CONF_II_PROTO
uintmax_t ustrp_parse_uintmaxx(const struct Ustrp *s1, size_t off,
unsigned int flags,
uintmax_t nmin, uintmax_t nmax,
const char *sep, size_t *len, unsigned int *ern)
{ return (ustr_parse_uintmaxx(&s1->s, off, flags, nmin, nmax, sep, len, ern)); }
USTR_CONF_II_PROTO
uintmax_t ustrp_parse_uintmax(const struct Ustrp *s1, size_t off,
unsigned int flags,
size_t *len, unsigned int *ern)
{ return (ustr_parse_uintmax(&s1->s, off, flags, len, ern)); }
USTR_CONF_II_PROTO
intmax_t ustrp_parse_intmax(const struct Ustrp *s1, size_t off,
unsigned int flags, size_t *len, unsigned int *ern)
{ return (ustr_parse_intmax(&s1->s, off, flags, len, ern)); }
# endif
USTR_CONF_II_PROTO
unsigned long ustrp_parse_ulongx(const struct Ustrp *s1, size_t off,
unsigned int flags,
unsigned long nmin, unsigned long nmax,
const char *sep, size_t *len, unsigned *ern)
{ return (ustr_parse_ulongx(&s1->s, off, flags, nmin, nmax, sep, len, ern)); }
USTR_CONF_II_PROTO
unsigned long ustrp_parse_ulong(const struct Ustrp *s1, size_t off,
unsigned int flags,
size_t *len, unsigned int *ern)
{ return (ustr_parse_ulong(&s1->s, off, flags, len, ern)); }
USTR_CONF_II_PROTO
long ustrp_parse_long(const struct Ustrp *s1, size_t off,
unsigned int flags, size_t *len, unsigned int *ern)
{ return (ustr_parse_long(&s1->s, off, flags, len, ern)); }
USTR_CONF_II_PROTO
unsigned int ustrp_parse_uint(const struct Ustrp *s1, size_t off,
unsigned int flags,
size_t *len, unsigned int *ern)
{ return (ustr_parse_uint(&s1->s, off, flags, len, ern)); }
USTR_CONF_II_PROTO
int ustrp_parse_int(const struct Ustrp *s1, size_t off,
unsigned int flags, size_t *len, unsigned int *ern)
{ return (ustr_parse_int(&s1->s, off, flags, len, ern)); }
USTR_CONF_II_PROTO
unsigned short ustrp_parse_ushort(const struct Ustrp *s1, size_t off,
unsigned int flags,
size_t *len, unsigned int *ern)
{ return (ustr_parse_ushort(&s1->s, off, flags, len, ern)); }
USTR_CONF_II_PROTO
short ustrp_parse_short(const struct Ustrp *s1, size_t off,
unsigned int flags, size_t *len, unsigned int *ern)
{ return (ustr_parse_short(&s1->s, off, flags, len, ern)); }
#endif
#endif