[Spice-devel] [PATCH] [vd_agent] fix bug: display error when dragging file with CJK characters
Cody Chan
int64ago at gmail.com
Mon Aug 11 04:46:52 PDT 2014
Sorry, memory leaks..
On Mon, Aug 11, 2014 at 7:43 PM, Cody Chan <int64ago at gmail.com> wrote:
>
> I submitted a patch several months ago about this issue,
> here
> http://lists.freedesktop.org/archives/spice-devel/2014-February/016158.html
>
> I check it again, and find that the value of
> g_key_file_to_data(keyfile,...) is always utf-8,
> for the value of g_uri_list_extract_uris() is utf8 urlencode.
>
> So the display problem is caused by vd_agent, but how it displays depends
> on the
> language of system, the following two screenshots show the difference:
> http://int64ago-tmp.qiniudn.com/guest-Chinese.png
> http://int64ago-tmp.qiniudn.com/guest-English.png
>
> ---
> vdagent/file_xfer.cpp | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/vdagent/file_xfer.cpp b/vdagent/file_xfer.cpp
> index e402eb2..6e70d63 100644
> --- a/vdagent/file_xfer.cpp
> +++ b/vdagent/file_xfer.cpp
> @@ -46,6 +46,7 @@ void FileXfer::handle_start(VDAgentFileXferStartMessage*
> start,
> uint64_t file_size;
> HANDLE handle;
> AsUser as_user;
> + int wlen;
>
> status->id = start->id;
> status->result = VD_AGENT_FILE_XFER_STATUS_ERROR;
> @@ -81,7 +82,14 @@ void FileXfer::handle_start(VDAgentFileXferStartMessage*
> start,
>
> strcat(file_path, "\\");
> strcat(file_path, file_name);
> - handle = CreateFileA(file_path, GENERIC_WRITE, 0, NULL, CREATE_NEW,
> 0, NULL);
> + if((wlen = MultiByteToWideChar(CP_UTF8, 0, file_path, -1, NULL, 0))
> == 0)
> + return;
> + TCHAR *wfile_path = (TCHAR*)malloc(sizeof(TCHAR) * (wlen + 1));
> + if (MultiByteToWideChar(CP_UTF8, 0, file_path, -1, wfile_path, wlen)
> == 0)
> + return;
> + handle = CreateFile(wfile_path, GENERIC_WRITE, 0, NULL, CREATE_NEW,
> 0, NULL);
> + if (wfile_path)
> + free(wfile_path);
> if (handle == INVALID_HANDLE_VALUE) {
> vd_printf("failed creating %s %lu", file_path, GetLastError());
> return;
> --
> 1.9.3
>
> --
> QSBDT0RFUiBGUk9NIFJJRVNUIE9GIENUU0VV
>
--
QSBDT0RFUiBGUk9NIFJJRVNUIE9GIENUU0VV
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20140811/d6b0f19f/attachment-0001.html>
More information about the Spice-devel
mailing list