diff options
Diffstat (limited to 'src/lib-lua/dlua-pushstring.c')
-rw-r--r-- | src/lib-lua/dlua-pushstring.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/lib-lua/dlua-pushstring.c b/src/lib-lua/dlua-pushstring.c new file mode 100644 index 0000000..436fd29 --- /dev/null +++ b/src/lib-lua/dlua-pushstring.c @@ -0,0 +1,26 @@ +/* Copyright (c) 2021 Dovecot authors, see the included COPYING file */ + +#include "lib.h" +#include "str.h" +#include "dlua-script-private.h" + +const char *dlua_push_vfstring(lua_State *L, const char *fmt, va_list argp) +{ + const char *str; + T_BEGIN { + str = t_strdup_vprintf(fmt, argp); + (void)lua_pushstring(L, str); + str = lua_tostring(L, -1); + } T_END; + return str; +} + +const char *dlua_push_fstring(lua_State *L, const char *fmt, ...) +{ + const char *str; + va_list argp; + va_start(argp, fmt); + str = dlua_push_vfstring(L, fmt, argp); + va_end(argp); + return str; +} |