From: Maria Matejka Date: Wed, 2 Oct 2024 20:32:07 +0000 (+0200) Subject: Lib: added tmp_v?sprintf and tmp_strdup allocating from tmp_linpool X-Git-Tag: v3.1.0~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23ec59280ef51971694911413ff7dd09b5aafaa3;p=thirdparty%2Fbird.git Lib: added tmp_v?sprintf and tmp_strdup allocating from tmp_linpool --- diff --git a/lib/string.h b/lib/string.h index 8831666c7..7e0491951 100644 --- a/lib/string.h +++ b/lib/string.h @@ -27,6 +27,9 @@ char *lp_vsprintf(linpool *p, const char *fmt, va_list args); #define tmp_sprintf(...) lp_sprintf(tmp_linpool, __VA_ARGS__) #define tmp_vsprintf(...) lp_vsprintf(tmp_linpool, __VA_ARGS__) +#define tmp_sprintf(...) lp_sprintf(tmp_linpool, __VA_ARGS__) +#define tmp_vsprintf(...) lp_vsprintf(tmp_linpool, __VA_ARGS__) + int buffer_vprint(buffer *buf, const char *fmt, va_list args); int buffer_print(buffer *buf, const char *fmt, ...); void buffer_puts(buffer *buf, const char *str); @@ -66,6 +69,17 @@ lp_strdup(linpool *lp, const char *c) return z; } +#define tmp_strdup(x) lp_strdup(tmp_linpool, (x)) + +static inline char * +mb_strdup(pool *p, const char *c) +{ + size_t l = strlen(c) + 1; + char *z = mb_alloc(p, l); + memcpy(z, c, l); + return z; +} + static inline void memset32(void *D, u32 val, uint n) {