From bc5d0d4ed09833640856ee0193a53553dbb1eb20 Mon Sep 17 00:00:00 2001 From: default Date: Mon, 20 Nov 2023 18:33:24 +0100 Subject: Replaced encode_html_strict() with xs_html_encode(). --- xs.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'xs.h') diff --git a/xs.h b/xs.h index 63715ac..d7d9169 100644 --- a/xs.h +++ b/xs.h @@ -62,7 +62,8 @@ xs_str *xs_str_new(const char *str); xs_str *xs_str_new_sz(const char *mem, int sz); xs_str *xs_str_wrap_i(const char *prefix, xs_str *str, const char *suffix); #define xs_str_prepend_i(str, prefix) xs_str_wrap_i(prefix, str, NULL) -#define xs_str_cat(str, suffix) xs_str_wrap_i(NULL, str, suffix) +xs_str *_xs_str_cat(xs_str *str, const char *strs[]); +#define xs_str_cat(str, ...) _xs_str_cat(str, (const char *[]){ __VA_ARGS__, NULL }) xs_str *xs_replace_in(xs_str *str, const char *sfrom, const char *sto, int times); #define xs_replace_i(str, sfrom, sto) xs_replace_in(str, sfrom, sto, XS_ALL) #define xs_replace(str, sfrom, sto) xs_replace_in(xs_dup(str), sfrom, sto, XS_ALL) @@ -451,6 +452,22 @@ xs_str *xs_str_wrap_i(const char *prefix, xs_str *str, const char *suffix) } +xs_str *_xs_str_cat(xs_str *str, const char *strs[]) +/* concatenates all strings after str */ +{ + int o = strlen(str); + + while (*strs) { + int sz = strlen(*strs); + str = xs_insert_m(str, o, *strs, sz); + o += sz; + strs++; + } + + return str; +} + + xs_str *xs_replace_in(xs_str *str, const char *sfrom, const char *sto, int times) /* replaces inline all sfrom with sto */ { -- cgit