From d4eefeba12fdc871d11360e805109f13264409f0 Mon Sep 17 00:00:00 2001 From: Hidenori Takeshima Date: Sat, 15 Jul 2000 19:46:51 +0000 Subject: [PATCH] Fix for supporting DBCS. --- memory/heap.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/memory/heap.c b/memory/heap.c index e3ee8be3c33..80ffe48314c 100644 --- a/memory/heap.c +++ b/memory/heap.c @@ -19,6 +19,7 @@ #include "heap.h" #include "toolhelp.h" #include "debugtools.h" +#include "winnls.h" DEFAULT_DEBUG_CHANNEL(heap); @@ -1688,12 +1689,14 @@ LPWSTR HEAP_strdupAtoW( HANDLE heap, DWORD flags, LPCSTR str ) LPSTR HEAP_strdupWtoA( HANDLE heap, DWORD flags, LPCWSTR str ) { LPSTR ret; + INT len; if (!str) return NULL; - ret = HeapAlloc( heap, flags, lstrlenW(str) + 1 ); + len = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL ); + ret = HeapAlloc( heap, flags, len ); if(ret) { SET_EIP(ret); - lstrcpyWtoA( ret, str ); + WideCharToMultiByte( CP_ACP, 0, str, -1, ret, len, NULL, NULL ); } return ret; }