diff options
author | Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com> | 2009-08-31 18:16:16 +0000 |
---|---|---|
committer | Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com> | 2009-08-31 18:16:16 +0000 |
commit | 418699b85d0bbe5497ca0570f3c15ae9274460ed (patch) | |
tree | 1f90d8bfccded286555efd67500f2c0e0bb062fe /wsutil/unicode-utils.c | |
parent | 80d50191a3f235e9667a838873c16d547201ad46 (diff) | |
download | wireshark-418699b85d0bbe5497ca0570f3c15ae9274460ed.tar.gz |
Add utf_8to16_snprintf() which creates a UTF16 string according to the given format string. The format string + arguments are expected to be in UTF-8 format. This change effectively removes the only place where we use PRIu64.
svn path=/trunk/; revision=29635
Diffstat (limited to 'wsutil/unicode-utils.c')
-rw-r--r-- | wsutil/unicode-utils.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/wsutil/unicode-utils.c b/wsutil/unicode-utils.c index 91c4aeca88..f011d46292 100644 --- a/wsutil/unicode-utils.c +++ b/wsutil/unicode-utils.c @@ -26,13 +26,8 @@ #error "This is only for Windows" #endif -#include <glib.h> #include "unicode-utils.h" -#include <windows.h> -#include <tchar.h> -#include <wchar.h> - /** @file * Unicode utilities (internal interface) * @@ -89,6 +84,19 @@ wchar_t * utf_8to16(const char *utf8str) { return utf16buf[idx]; } +void utf_8to16_snprintf(TCHAR *utf16buf, gint utf16buf_len, const gchar* fmt, ...) { + va_list ap; + gchar* dst; + + va_start(ap,fmt); + dst = g_strdup_vprintf(fmt, ap); + va_end(ap); + + _snwprintf(utf16buf, utf16buf_len, _T("%s"), utf_8to16(dst)); + + g_free(dst); +} + /* Convert from UTF-16 to UTF-8. */ gchar * utf_16to8(const wchar_t *utf16str) { static gchar *utf8buf[3]; |