diff --git a/utils/src/parse.h b/utils/src/parse.h index 0a0d9ac4..b7ed51f4 100644 --- a/utils/src/parse.h +++ b/utils/src/parse.h @@ -2,6 +2,7 @@ #define _PARSE_H_ #include +#include int parse_human(char* str, u64 *val_ret); int parse_u64(char *str, u64 *val_ret); @@ -9,4 +10,13 @@ int parse_s64(char *str, s64 *val_ret); int parse_u32(char *str, u32 *val_ret); int parse_timespec(char *str, struct timespec *ts); +static inline char* strdup_or_error(const struct argp_state *state, char *str) +{ + char *new = strdup(str); + if (!new) + argp_error(state, "memory allocation failed"); + + return new; +} + #endif