[Title]convert utf8 to cp949 (CreateFile)
authormunkyu.im <munkyu.im@samsung.com>
Wed, 7 Mar 2012 06:59:04 +0000 (15:59 +0900)
committermunkyu.im <munkyu.im@samsung.com>
Wed, 7 Mar 2012 06:59:04 +0000 (15:59 +0900)
[Type]
[Module]
[Priority]
[CQ#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

block/raw-win32.c
net/tap-win32.c
os-win32.c
qemu-char.c

index e4b0b75..0bbc41b 100644 (file)
@@ -96,7 +96,8 @@ static int raw_open(BlockDriverState *bs, const char *filename, int flags)
         overlapped |= FILE_FLAG_NO_BUFFERING;
     if (!(flags & BDRV_O_CACHE_WB))
         overlapped |= FILE_FLAG_WRITE_THROUGH;
-    s->hfile = CreateFile(filename, access_flags,
+    s->hfile = CreateFile(g_win32_locale_filename_from_utf8(filename),
+                          access_flags,
                           FILE_SHARE_READ, NULL,
                           OPEN_EXISTING, overlapped, NULL);
     if (s->hfile == INVALID_HANDLE_VALUE) {
@@ -386,7 +387,8 @@ static int hdev_open(BlockDriverState *bs, const char *filename, int flags)
         overlapped |= FILE_FLAG_NO_BUFFERING;
     if (!(flags & BDRV_O_CACHE_WB))
         overlapped |= FILE_FLAG_WRITE_THROUGH;
-    s->hfile = CreateFile(filename, access_flags,
+    s->hfile = CreateFile(g_win32_locale_filename_from_utf8(filename),
+                          access_flags,
                           FILE_SHARE_READ, NULL,
                           create_flags, overlapped, NULL);
     if (s->hfile == INVALID_HANDLE_VALUE) {
index 596132e..b859b4c 100644 (file)
@@ -593,7 +593,7 @@ static int tap_win32_open(tap_win32_overlapped_t **phandle,
               TAPSUFFIX);
 
     handle = CreateFile (
-        device_path,
+        g_win32_locale_filename_from_utf8(device_path),
         GENERIC_READ | GENERIC_WRITE,
         0,
         0,
index 8ad5fa1..444cf70 100644 (file)
@@ -129,7 +129,7 @@ int qemu_create_pidfile(const char *filename)
     BOOL ret;
     memset(&overlap, 0, sizeof(overlap));
 
-    file = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_READ, NULL,
+    file = CreateFile(g_win32_locale_filename_from_utf8(filename), GENERIC_WRITE, FILE_SHARE_READ, NULL,
                       OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
 
     if (file == INVALID_HANDLE_VALUE) {
index 27abcb9..6c9eee5 100644 (file)
@@ -1523,7 +1523,8 @@ static int win_chr_init(CharDriverState *chr, const char *filename)
         goto fail;
     }
 
-    s->hcom = CreateFile(filename, GENERIC_READ|GENERIC_WRITE, 0, NULL,
+    s->hcom = CreateFile(g_win32_locale_filename_from_utf8(filename),
+                      GENERIC_READ|GENERIC_WRITE, 0, NULL,
                       OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
     if (s->hcom == INVALID_HANDLE_VALUE) {
         fprintf(stderr, "Failed CreateFile (%lu)\n", GetLastError());
@@ -1813,7 +1814,7 @@ static int qemu_chr_open_win_file_out(QemuOpts *opts, CharDriverState **_chr)
     const char *file_out = qemu_opt_get(opts, "path");
     HANDLE fd_out;
 
-    fd_out = CreateFile(file_out, GENERIC_WRITE, FILE_SHARE_READ, NULL,
+    fd_out = CreateFile(g_win32_locale_filename_from_utf8(file_out), GENERIC_WRITE, FILE_SHARE_READ, NULL,
                         OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
     if (fd_out == INVALID_HANDLE_VALUE) {
         return -EIO;