summaryrefslogtreecommitdiff
path: root/wsutil/unicode-utils.c
diff options
context:
space:
mode:
authorKovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>2009-08-31 18:16:16 +0000
committerKovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>2009-08-31 18:16:16 +0000
commit418699b85d0bbe5497ca0570f3c15ae9274460ed (patch)
tree1f90d8bfccded286555efd67500f2c0e0bb062fe /wsutil/unicode-utils.c
parent80d50191a3f235e9667a838873c16d547201ad46 (diff)
downloadwireshark-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.c18
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];