gerard patel <[EMAIL PROTECTED]> writes:

> Unicode is hard :-)
> 
> ChangeLog:
> 
>     * server/atom.c
>     Fix an Unicode/ascii buffer length issue in get_atom_name

Actually the server code is correct, the request buffer size is in
bytes, not characters (yes Unicode is a pain...)

This should be the correct fix I think:

Index: memory/atom.c
===================================================================
RCS file: /opt/cvs-commit/wine/memory/atom.c,v
retrieving revision 1.24
diff -u -r1.24 atom.c
--- memory/atom.c       2000/08/30 00:00:49     1.24
+++ memory/atom.c       2000/09/03 00:11:48
@@ -690,7 +690,8 @@
             req->local = local;
             if (!server_call( REQ_GET_ATOM_NAME ))
             {
-                len = WideCharToMultiByte( CP_ACP, 0, server_data_ptr(req), 
server_data_size(req),
+                len = WideCharToMultiByte( CP_ACP, 0, server_data_ptr(req),
+                                           server_data_size(req) / sizeof(WCHAR),
                                            buffer, count - 1, NULL, NULL );
                 if (!len) len = count; /* overflow */
                 else buffer[len] = 0;

-- 
Alexandre Julliard
[EMAIL PROTECTED]

Reply via email to