summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--misc.c9
-rw-r--r--misc.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/misc.c b/misc.c
index 3f82b64..36bbad4 100644
--- a/misc.c
+++ b/misc.c
@@ -201,6 +201,15 @@ char *skip_whitespace(const char *str) {
}
}
+int vformat_len_copy(const char *fmt, va_list args) {
+ int len;
+ va_list tmp_args;
+ va_copy(tmp_args, args);
+ len = vformat_len(fmt, tmp_args);
+ va_end(tmp_args);
+ return len;
+}
+
int vformat_len(const char *fmt, va_list args) {
return vsnprintf(NULL, 0, fmt, args);
}
diff --git a/misc.h b/misc.h
index 9110197..eb839de 100644
--- a/misc.h
+++ b/misc.h
@@ -18,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_copy(const char *fmt, va_list args);
extern int vformat_len(const char *fmt, va_list args);
extern int format_len(const char *fmt, ...);
extern int is_dir(const char *path);