From 96f98cea12d6ae80ecb45dba2fb14555c74612fc Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Fri, 18 Apr 2025 14:09:35 -0400 Subject: bfstd: Add some more integer parsing functions --- src/bfstd.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/bfstd.h') diff --git a/src/bfstd.h b/src/bfstd.h index 51920c9..15dd949 100644 --- a/src/bfstd.h +++ b/src/bfstd.h @@ -168,6 +168,16 @@ char *xgetdelim(FILE *file, char delim); */ const char *xgetprogname(void); +/** + * Like xstrtol(), but for short. + */ +int xstrtos(const char *str, char **end, int base, short *value); + +/** + * Like xstrtol(), but for int. + */ +int xstrtoi(const char *str, char **end, int base, int *value); + /** * Wrapper for strtol() that forbids leading spaces. */ @@ -178,6 +188,26 @@ int xstrtol(const char *str, char **end, int base, long *value); */ int xstrtoll(const char *str, char **end, int base, long long *value); +/** + * Like xstrtoul(), but for unsigned short. + */ +int xstrtous(const char *str, char **end, int base, unsigned short *value); + +/** + * Like xstrtoul(), but for unsigned int. + */ +int xstrtoui(const char *str, char **end, int base, unsigned int *value); + +/** + * Wrapper for strtoul() that forbids leading spaces, negatives. + */ +int xstrtoul(const char *str, char **end, int base, unsigned long *value); + +/** + * Wrapper for strtoull() that forbids leading spaces, negatives. + */ +int xstrtoull(const char *str, char **end, int base, unsigned long long *value); + /** * Wrapper for strtof() that forbids leading spaces. */ -- cgit v1.2.3