summaryrefslogtreecommitdiffstats
path: root/src/bfstd.h
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2025-04-18 14:09:35 -0400
committerTavian Barnes <tavianator@tavianator.com>2025-04-18 14:09:35 -0400
commit96f98cea12d6ae80ecb45dba2fb14555c74612fc (patch)
tree0bdfb49f9ac1bf52833ae1e451e7b54badfb402f /src/bfstd.h
parentf9fd4b9be60848bfd69682af45c51739bf7aa3bf (diff)
downloadbfs-96f98cea12d6ae80ecb45dba2fb14555c74612fc.tar.xz
bfstd: Add some more integer parsing functionsHEADmain
Diffstat (limited to 'src/bfstd.h')
-rw-r--r--src/bfstd.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/bfstd.h b/src/bfstd.h
index 51920c9..15dd949 100644
--- a/src/bfstd.h
+++ b/src/bfstd.h
@@ -169,6 +169,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.
*/
int xstrtol(const char *str, char **end, int base, long *value);
@@ -179,6 +189,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.
*/
int xstrtof(const char *str, char **end, float *value);