forward CommConfigDialogA to CommConfigDialogW Modified: trunk/reactos/lib/kernel32/misc/comm.c _____
Modified: trunk/reactos/lib/kernel32/misc/comm.c --- trunk/reactos/lib/kernel32/misc/comm.c 2005-04-07 13:25:34 UTC (rev 14536) +++ trunk/reactos/lib/kernel32/misc/comm.c 2005-04-07 18:01:29 UTC (rev 14537) @@ -831,28 +831,20 @@
STDCALL CommConfigDialogA(LPCSTR lpszName, HWND hWnd, LPCOMMCONFIG lpCC) { - BOOL (STDCALL *drvCommDlgA)(LPCSTR, HWND, LPCOMMCONFIG); - HMODULE hSerialuiDll; + PWCHAR NameW; BOOL result; - //FIXME: Get dll name from registry. (setupapi needed) - if(!(hSerialuiDll = LoadLibraryW(L"serialui.dll"))) + /* don't use the static thread buffer so operations in serialui + don't overwrite the string */ + if(!(NameW = FilenameA2W(lpszName, TRUE))) { - DPRINT("CommConfigDialogA: serialui.dll not found.\n"); return FALSE; } - drvCommDlgA = GetProcAddress(hSerialuiDll, "drvCommConfigDialogA"); + result = CommConfigDialogW(NameW, hWnd, lpCC); + + RtlFreeHeap(RtlGetProcessHeap(), 0, NameW); - if(!drvCommDlgA) - { - DPRINT("CommConfigDialogA: serialui does not export drvCommConfigDialogA\n"); - FreeLibrary(hSerialuiDll); - return FALSE; - } - - result = drvCommDlgA(lpszName, hWnd, lpCC); - FreeLibrary(hSerialuiDll); return result; }