diff options
author | Simon Ser <contact@emersion.fr> | 2023-02-28 16:00:28 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2023-04-14 18:34:54 +0200 |
commit | aab4c9da5fb4138ca5f07df8bd8b698d02242a62 (patch) | |
tree | 4f26a160ebce948ca29855da4f05fa42e3c5e815 /include/stringop.h | |
parent | 4118c493499fc03fd2c77a061b4905cd7523d67c (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.h | 9 |
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 |