diff options
author | mrb0nk500 <b0nk@b0nk.xyz> | 2022-08-03 15:27:11 -0300 |
---|---|---|
committer | mrb0nk500 <b0nk@b0nk.xyz> | 2022-08-03 15:27:11 -0300 |
commit | 44cfcd337ad418e613c6434c181dafe5bf67057e (patch) | |
tree | 979199c4c6ed90bf49fbde195731e5a53ef2b2d3 | |
parent | ca4284c2160617bb57292f56ba6b9bd7fc0814db (diff) |
misc: Add `vformat_len()`
This works exactly like `format_len()`, except that it uses `va_list`
rather than variadic arguments.
-rw-r--r-- | misc.c | 4 | ||||
-rw-r--r-- | misc.h | 3 |
2 files changed, 7 insertions, 0 deletions
@@ -201,6 +201,10 @@ char *skip_whitespace(const char *str) { } } +int vformat_len(const char *fmt, va_list args) { + return vsnprintf(NULL, 0, fmt, args); +} + int format_len(const char *fmt, ...) { int len = 0; va_list args; @@ -1,6 +1,8 @@ #ifndef MISC_H #define MISC_H +#include <stdarg.h> + extern char *read_file(const char *filename, long *size); extern char *find_delm(char *str, const char *delm, int skip_delm); extern char *get_str_delm_range(char *str, const char *start_delm, const char *end_delm, char **rhs); @@ -16,6 +18,7 @@ extern char *find_alpha(const char *str); extern char *create_num_str(const char *str, int num); extern int is_empty(const char *str); extern char *skip_whitespace(const char *str); +extern int vformat_len(const char *fmt, va_list args); extern int format_len(const char *fmt, ...); extern int is_dir(const char *path); extern void mkdirp(const char *path, int mode); |