diff options
Diffstat (limited to 'src/util.c')
| -rw-r--r-- | src/util.c | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -65,6 +65,29 @@ assert(int cond, const char *file, int line, const char *condstr) exit(1); } +wchar_t * +awprintf(const wchar_t *fmtstr, ...) +{ + va_list ap, cpy; + size_t size; + wchar_t *str; + + va_copy(cpy, ap); + + va_start(ap, fmtstr); + size = swprintf(NULL, 0, fmtstr, ap); + va_end(ap); + + str = malloc((size + 1) * sizeof(wchar_t)); + ASSERT(str != NULL); + + va_start(cpy, fmtstr); + swprintf(str, size + 1, fmtstr, cpy); + va_end(cpy); + + return str; +} + char * aprintf(const char *fmtstr, ...) { |
