aboutsummaryrefslogtreecommitdiff
path: root/include/stringop.h
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2023-02-28 16:00:28 +0100
committerSimon Ser <contact@emersion.fr>2023-04-14 18:34:54 +0200
commitaab4c9da5fb4138ca5f07df8bd8b698d02242a62 (patch)
tree4f26a160ebce948ca29855da4f05fa42e3c5e815 /include/stringop.h
parent4118c493499fc03fd2c77a061b4905cd7523d67c (diff)
Add format_str() and vformat_str()
Simple helpers to allocate and format a string.
Diffstat (limited to 'include/stringop.h')
-rw-r--r--include/stringop.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/stringop.h b/include/stringop.h
index b29f59b2..19a50f23 100644
--- a/include/stringop.h
+++ b/include/stringop.h
@@ -5,6 +5,12 @@
#include <stddef.h>
#include "list.h"
+#ifdef __GNUC__
+#define _SWAY_ATTRIB_PRINTF(start, end) __attribute__((format(printf, start, end)))
+#else
+#define _SWAY_ATTRIB_PRINTF(start, end)
+#endif
+
void strip_whitespace(char *str);
void strip_quotes(char *str);
@@ -31,4 +37,7 @@ char *argsep(char **stringp, const char *delim, char *matched_delim);
// Expand a path using shell replacements such as $HOME and ~
bool expand_path(char **path);
+char *vformat_str(const char *fmt, va_list args) _SWAY_ATTRIB_PRINTF(1, 0);
+char *format_str(const char *fmt, ...) _SWAY_ATTRIB_PRINTF(1, 2);
+
#endif