Other W->A crosscalls

Tony Lambregts tony_lambregts at telusplanet.net
Wed Sep 15 23:56:15 CDT 2004


Michael Stefaniuc wrote 

>Corrected script and output files are attached. Now they are only 178
>lines of output which brings us damn near to Dimi's number.

Once I got rid of the duplicate calls I ended up with 130.

Changelog: update Janitorial template to reflect the true number of A->W crosscalls

Tony Lambregts

Index: janitorial.template
===================================================================
RCS file: /home/wine/lostwages/templates/en/janitorial.template,v
retrieving revision 1.42
diff -u -u -r1.42 janitorial.template
--- janitorial.template	15 Sep 2004 20:02:38 -0000	1.42
+++ janitorial.template	16 Sep 2004 04:34:48 -0000
@@ -196,65 +196,145 @@
   The ASCII to Unicode conversion is lossy; moreover, with the
   shift to Unicode, it's actually slower to deal in ASCII than
   in Unicode, because of the additional conversions required.
-  There are 54 cross calls from Unicode to ANSI as reported by
+  There are 130 cross calls from Unicode to ANSI as of September 15, 2004.
+
+  winapi_check  
   <tt>tools/winapi_check/winapi_check --none --progress --cross-call-unicode-ascii</tt>
-  (as of Aug 12, 2004):
+  does not catch all cross calls.
+  however <a href="http://www.winehq.org/hypermail/wine-devel/2004/09/0452.html">wine_crosscalls.pl</a>
+  by Michael Stefaniuc seems to be more thorough.
+  
   <ul>
-    <li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptAcquireContextW: illegal call to CryptAcquireContextA
-    <li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptEnumProviderTypesW: illegal call to CryptEnumProviderTypesA
-    <li class=committed>dlls/advapi32/crypt.c: advapi32: CryptEnumProvidersW: illegal call to CryptEnumProvidersA
-    <li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptGetDefaultProviderW: illegal call to CryptGetDefaultProviderA
-    <li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptSetProviderExW: illegal call to CryptSetProviderExA
-    <li>dlls/ddraw/main.c: ddraw: DirectDrawEnumerateExW: illegal call to DirectDrawEnumerateExA
-    <li>dlls/gdi/printdrv.c: gdi32: StartDocW: illegal call to HEAP_strdupWtoA
-    <li>dlls/gdi/printdrv.c: gdi32: StartDocW: illegal call to StartDocA
-    <li>dlls/kernel/comm.c: kernel32: CommConfigDialogW: illegal call to CommConfigDialogA
-    <li>dlls/kernel/comm.c: kernel32: CommConfigDialogW: illegal call to HEAP_strdupWtoA
-    <li>dlls/kernel/comm.c: kernel32: SetDefaultCommConfigW: illegal call to HEAP_strdupWtoA
-    <li>dlls/kernel/comm.c: kernel32: SetDefaultCommConfigW: illegal call to SetDefaultCommConfigA
-    <li>dlls/kernel/locale.c: kernel32: GetLocaleInfoW: illegal call to GetModuleHandleA
-    <li>dlls/kernel/sync.c: kernel32: WaitNamedPipeW: illegal call to CreateEventA
-    <li>dlls/lzexpand/lzexpand_main.c: lz32: LZOpenFileW: illegal call to LZOpenFileA
-    <li>dlls/rpcrt4/rpc_binding.c: rpcrt4: RpcBindingToStringBindingW: illegal call to RpcBindingToStringBindingA
-    <li>dlls/rpcrt4/rpc_binding.c: rpcrt4: RpcBindingToStringBindingW: illegal call to RpcStringFreeA
-    <li>dlls/rpcrt4/rpc_server.c: rpcrt4: RpcServerUseProtseqEpExW: illegal call to RPCRT4_strdupWtoA
-    <li>dlls/shell32/shell32_main.c: shell32: ShellAboutW: illegal call to DialogBoxIndirectParamA
-    <li>dlls/shell32/shell32_main.c: shell32: ShellAboutW: illegal call to HEAP_strdupWtoA
-    <li>dlls/shell32/shell32_main.c: shell32: ShellAboutW: illegal call to LoadIconA
-    <li>dlls/shell32/shellole.c: shell32: DragQueryFileW: illegal call to DragQueryFileA
-    <li>dlls/shell32/systray.c: shell32: Shell_NotifyIconW: illegal call to Shell_NotifyIconA
-    <li>dlls/shlwapi/string.c: shlwapi: StrCmpLogicalW: illegal call to SHLWAPI_ChrCmpHelperA
-    <li>dlls/shlwapi/string.c: shlwapi: StrFormatByteSizeW: illegal call to StrFormatByteSize64A
-    <li>dlls/shlwapi/string.c: shlwapi: StrRetToStrW: illegal call to SHStrDupA
-    <li>dlls/version/install.c: version: VerInstallFileW: illegal call to VerInstallFileA
-    <li>dlls/winmm/driver.c: winmm: OpenDriverW: illegal call to OpenDriverA
-    <li>dlls/winmm/joystick.c: winmm: joyGetDevCapsW: illegal call to joyGetDevCapsA
-    <li>dlls/winmm/mci.c: winmm: mciSendStringW: illegal call to mciSendStringA
-    <li>dlls/winmm/mmio.c: winmm: mmioRenameW: illegal call to mmioRenameA
-    <li>dlls/winmm/mmio.c: winmm: mmioStringToFOURCCW: illegal call to mmioStringToFOURCCA
-    <li>dlls/winmm/winmm.c: winmm: auxGetDevCapsW: illegal call to auxGetDevCapsA
-    <li>dlls/winmm/winmm.c: winmm: mciGetErrorStringW: illegal call to mciGetErrorStringA
-    <li>dlls/winmm/winmm.c: winmm: midiInGetDevCapsW: illegal call to midiInGetDevCapsA
-    <li>dlls/winmm/winmm.c: winmm: midiOutGetDevCapsW: illegal call to midiOutGetDevCapsA
-    <li>dlls/winmm/winmm.c: winmm: mixerGetControlDetailsW: illegal call to mixerGetControlDetailsA
-    <li>dlls/winmm/winmm.c: winmm: mixerGetDevCapsW: illegal call to mixerGetDevCapsA
-    <li>dlls/winmm/winmm.c: winmm: mixerGetLineControlsW: illegal call to mixerGetLineControlsA
-    <li>dlls/winmm/winmm.c: winmm: mixerGetLineInfoW: illegal call to mixerGetLineInfoA
-    <li>dlls/winmm/winmm.c: winmm: waveInGetDevCapsW: illegal call to waveInGetDevCapsA
-    <li>dlls/winmm/winmm.c: winmm: waveOutGetDevCapsW: illegal call to waveOutGetDevCapsA
-    <li>dlls/winspool/info.c: winspool.drv: AddPrinterW: illegal call to DEVMODEdupWtoA
-    <li>dlls/winspool/info.c: winspool.drv: AddPrinterW: illegal call to RegSetValueExA
-    <li>dlls/winspool/info.c: winspool.drv: DeviceCapabilitiesW: illegal call to DEVMODEdupWtoA
-    <li>dlls/winspool/info.c: winspool.drv: DeviceCapabilitiesW: illegal call to DeviceCapabilitiesA
-    <li>dlls/winspool/info.c: winspool.drv: DeviceCapabilitiesW: illegal call to HEAP_strdupWtoA
-    <li>dlls/winspool/info.c: winspool.drv: DocumentPropertiesW: illegal call to DEVMODEdupWtoA
-    <li>dlls/winspool/info.c: winspool.drv: DocumentPropertiesW: illegal call to DocumentPropertiesA
-    <li>dlls/winspool/info.c: winspool.drv: DocumentPropertiesW: illegal call to HEAP_strdupWtoA
-    <li>windows/clipboard.c: user32: GetClipboardFormatNameW: illegal call to GetClipboardFormatNameA
-    <li>windows/clipboard.c: user32: RegisterClipboardFormatW: illegal call to HEAP_strdupWtoA
-    <li>windows/clipboard.c: user32: RegisterClipboardFormatW: illegal call to RegisterClipboardFormatA
-    <li>windows/winhelp.c: user32: WinHelpW: illegal call to WinHelpA
-    <li>windows/winproc.c: user32: CallWindowProcW: illegal call to WINPROC_CallProc32WTo32A
+    <li class=submitted>dlls/advapi32/crypt.c CryptAcquireContextW: illegal call to CryptAcquireContextA
+    <li class=submitted>dlls/advapi32/crypt.c CryptEnumProviderTypesW: illegal call to CryptEnumProviderTypesA
+    <li class=submitted>dlls/advapi32/crypt.c CryptGetDefaultProviderW: illegal call to CryptGetDefaultProviderA
+    <li class=submitted>dlls/advapi32/crypt.c CryptSetProviderExW: illegal call to CryptSetProviderExA
+    <li>dlls/comctl32/string.c StrRStrIW: illegal call to COMCTL32_ChrCmpIA
+    <li>dlls/comctl32/tooltips.c TOOLTIPS_AddToolW: illegal call to SendMessageA
+    <li>dlls/commdlg/colordlg.c ChooseColorW: illegal call to FindResourceA
+    <li>dlls/commdlg/filedlg.c GetFileDialog95W: illegal call to GetCurrentDirectoryA
+    <li>dlls/commdlg/filedlg.c GetFileDialog95W: illegal call to SetCurrentDirectoryA
+    <li>dlls/commdlg/filedlg.c GetFileName31W: illegal call to GetWindowLongA
+    <li>dlls/commdlg/fontdlg.c FormatCharDlgProcW: illegal call to GetPropA
+    <li>dlls/commdlg/printdlg.c PageDlgProcW: illegal call to GetPropA
+    <li>dlls/commdlg/printdlg.c PageDlgProcW: illegal call to SetDlgItemTextA
+    <li>dlls/commdlg/printdlg.c PageDlgProcW: illegal call to SetPropA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_ChangePrinterW: illegal call to LoadStringA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_ChangePrinterW: illegal call to SendDlgItemMessageA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_PS_UpdateDlgStructW: illegal call to GetDlgItemTextA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_SetUpPaperComboBoxW: illegal call to SendDlgItemMessageA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_SetUpPrinterListComboW: illegal call to GetDefaultPrinterA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_SetUpPrinterListComboW: illegal call to SendDlgItemMessageA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_UpdatePrintDlgW: illegal call to LoadStringA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_UpdatePrintDlgW: illegal call to MessageBoxA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_WMCommandW: illegal call to SendDlgItemMessageA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to LoadIconA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to LoadImageA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to RegisterWindowMessageA
+    <li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to SendDlgItemMessageA
+    <li>dlls/ddraw/main.c DirectDrawEnumerateExW: illegal call to DirectDrawEnumerateExA
+    <li>dlls/gdi/printdrv.c StartDocW: illegal call to HEAP_strdupWtoA
+    <li>dlls/gdi/printdrv.c StartDocW: illegal call to StartDocA
+    <li>dlls/hhctrl.ocx/hhctrl.c HtmlHelpW: illegal call to MessageBoxA
+    <li>dlls/kernel/comm.c CommConfigDialogW: illegal call to CommConfigDialogA
+    <li>dlls/kernel/comm.c CommConfigDialogW: illegal call to HEAP_strdupWtoA
+    <li>dlls/kernel/comm.c SetDefaultCommConfigW: illegal call to HEAP_strdupWtoA
+    <li>dlls/kernel/comm.c SetDefaultCommConfigW: illegal call to SetDefaultCommConfigA
+    <li>dlls/kernel/resource.c FindResourceExW: illegal call to get_res_name_type_WtoA
+    <li>dlls/lzexpand/lzexpand_main.c GetExpandedNameW: illegal call to GetExpandedNameA
+    <li>dlls/lzexpand/lzexpand_main.c LZOpenFileW: illegal call to LZOpenFileA
+    <li>dlls/rpcrt4/rpc_binding.c RpcBindingToStringBindingW: illegal call to RpcBindingToStringBindingA
+    <li>dlls/rpcrt4/rpc_binding.c RpcBindingToStringBindingW: illegal call to RpcStringFreeA
+    <li>dlls/rpcrt4/rpc_binding.c RPCRT4_CompleteBindingW: illegal call to RPCRT4_strdupWtoA
+    <li>dlls/rpcrt4/rpc_binding.c RPCRT4_CompleteBindingW: illegal call to RPCRT4_strndupA
+    <li>dlls/rpcrt4/rpc_binding.c RPCRT4_CreateBindingW: illegal call to RPCRT4_strdupWtoA
+    <li>dlls/rpcrt4/rpc_server.c RpcServerUseProtseqEpExW: illegal call to RPCRT4_strdupWtoA
+    <li>dlls/secur32/secur32.c SECUR32_findPackageW: illegal call to _makeFnTableA
+    <li>dlls/secur32/thunks.c thunk_AcquireCredentialsHandleW: illegal call to AcquireCredentialsHandleA
+    <li>dlls/secur32/thunks.c thunk_ImportSecurityContextW: illegal call to ImportSecurityContextA
+    <li>dlls/shell32/pidl.c SHELL_GetPathFromIDListW: illegal call to lstrlenA
+    <li>dlls/shell32/shell32_main.c ShellAboutW: illegal call to FindResourceA
+    <li>dlls/shell32/shellole.c DragQueryFileW: illegal call to DragQueryFileA
+    <li>dlls/shell32/systray.c Shell_NotifyIconW: illegal call to Shell_NotifyIconA
+    <li>dlls/shlwapi/ordinal.c DragQueryFileWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c ExtractIconExWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c ExtractIconWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c ExtTextOutWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c GetFileVersionInfoSizeWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c GetFileVersionInfoWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c GetOpenFileNameWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c GetSaveFileNameWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c PageSetupDlgWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c PlaySoundWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c PrintDlgWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c SHBrowseForFolderWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c SHCreateWorkerWindowW: illegal call to LoadCursorA
+    <li>dlls/shlwapi/ordinal.c SHCreateWorkerWindowW: illegal call to SetWindowLongA
+    <li>dlls/shlwapi/ordinal.c SHCreateWorkerWindowW: illegal call to SHCreateWorkerWindowA
+    <li>dlls/shlwapi/ordinal.c SHDefExtractIconWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c ShellExecuteExWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c SHFileOperationWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c SHGetFileInfoWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c SHGetNewLinkInfoWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c SHGetPathFromIDListWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c SHStringFromGUIDW: illegal call to SHStringFromGUIDA
+    <li>dlls/shlwapi/ordinal.c VerQueryValueWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c WNetGetLastErrorWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/ordinal.c WNetRestoreConnectionWrapW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/path.c PathIsNetworkPathW: illegal call to LoadLibraryA
+    <li>dlls/shlwapi/string.c StrCmpLogicalW: illegal call to SHLWAPI_ChrCmpHelperA
+    <li>dlls/shlwapi/string.c StrFormatByteSizeW: illegal call to StrFormatByteSize64A
+    <li>dlls/shlwapi/string.c StrRetToStrW: illegal call to SHStrDupA
+    <li>dlls/shlwapi/string.c StrRStrIW: illegal call to ChrCmpIA
+    <li>dlls/shlwapi/url.c ParseURLW: illegal call to lstrlenA
+    <li>dlls/user/message.c PeekMessageW: illegal call to GetClassLongA
+    <li>dlls/version/install.c VerInstallFileW: illegal call to VerInstallFileA
+    <li>dlls/wininet/internet.c InternetCheckConnectionW: illegal call to InternetCheckConnectionA
+    <li>dlls/winmm/driver.c OpenDriverW: illegal call to OpenDriverA
+    <li>dlls/winmm/joystick.c joyGetDevCapsW: illegal call to joyGetDevCapsA
+    <li>dlls/winmm/mci.c mciSendStringW: illegal call to mciSendStringA
+    <li>dlls/winmm/mmio.c mmioRenameW: illegal call to mmioRenameA
+    <li>dlls/winmm/mmio.c mmioStringToFOURCCW: illegal call to mmioStringToFOURCCA
+    <li>dlls/winmm/winmm.c auxGetDevCapsW: illegal call to auxGetDevCapsA
+    <li>dlls/winmm/winmm.c mciGetErrorStringW: illegal call to mciGetErrorStringA
+    <li>dlls/winmm/winmm.c mciSendCommandW: illegal call to MCI_MapMsgWtoA
+    <li>dlls/winmm/winmm.c mciSendCommandW: illegal call to MCI_UnmapMsgWtoA
+    <li>dlls/winmm/winmm.c mciSendCommandW: illegal call to mciSendCommandA
+    <li>dlls/winmm/winmm.c midiInGetDevCapsW: illegal call to midiInGetDevCapsA
+    <li>dlls/winmm/winmm.c midiOutGetDevCapsW: illegal call to midiOutGetDevCapsA
+    <li>dlls/winmm/winmm.c mixerGetControlDetailsW: illegal call to mixerGetControlDetailsA
+    <li>dlls/winmm/winmm.c mixerGetDevCapsW: illegal call to mixerGetDevCapsA
+    <li>dlls/winmm/winmm.c mixerGetLineControlsW: illegal call to mixerGetLineControlsA
+    <li>dlls/winmm/winmm.c mixerGetLineInfoW: illegal call to mixerGetLineInfoA
+    <li>dlls/winmm/winmm.c waveInGetDevCapsW: illegal call to waveInGetDevCapsA
+    <li>dlls/winmm/winmm.c waveOutGetDevCapsW: illegal call to waveOutGetDevCapsA
+    <li>dlls/winsock/socket.c WSAStringToAddressW: illegal call to WSAStringToAddressA
+    <li>dlls/winspool/info.c AddPrinterW: illegal call to DEVMODEdupWtoA
+    <li>dlls/winspool/info.c AddPrinterW: illegal call to RegCreateKeyA
+    <li>dlls/winspool/info.c AddPrinterW: illegal call to RegQueryValueA
+    <li>dlls/winspool/info.c AddPrinterW: illegal call to RegSetValueExA
+    <li>dlls/winspool/info.c DeviceCapabilitiesW: illegal call to DeviceCapabilitiesA
+    <li>dlls/winspool/info.c DeviceCapabilitiesW: illegal call to DEVMODEdupWtoA
+    <li>dlls/winspool/info.c DeviceCapabilitiesW: illegal call to HEAP_strdupWtoA
+    <li>dlls/winspool/info.c DocumentPropertiesW: illegal call to DEVMODEdupWtoA
+    <li>dlls/winspool/info.c DocumentPropertiesW: illegal call to DocumentPropertiesA
+    <li>dlls/winspool/info.c DocumentPropertiesW: illegal call to HEAP_strdupWtoA
+    <li>dlls/winspool/info.c OpenPrinterW: illegal call to RegCreateKeyA
+    <li>programs/winedbg/winedbg.c dbg_outputW: illegal call to dbg_outputA
+    <li>windows/clipboard.c GetClipboardFormatNameW: illegal call to GetClipboardFormatNameA
+    <li>windows/clipboard.c RegisterClipboardFormatW: illegal call to HEAP_strdupWtoA
+    <li>windows/clipboard.c RegisterClipboardFormatW: illegal call to RegisterClipboardFormatA
+    <li>windows/cursoricon.c map_fileW: illegal call to CreateFileMappingA
+    <li>windows/defwnd.c DEFWND_ImmIsUIMessageW: illegal call to GetModuleHandleA
+    <li>windows/winhelp.c WinHelpW: illegal call to WinHelpA
+    <li>windows/winhelp.c  WinHelpW: illegal call to WinHelpA
+    <li>windows/winproc.c CallWindowProcW: illegal call to WINPROC_CallProc32WTo32A
+    <li>windows/winproc.c WINPROC_MapMsg16To32W: illegal call to CREATESTRUCT16to32A
+    <li>windows/winproc.c WINPROC_MapMsg16To32W: illegal call to MDICREATESTRUCT16to32A
+    <li>windows/winproc.c WINPROC_MapMsg16To32W: illegal call to WINPROC_MapMsg16To32A
+    <li>windows/winproc.c WINPROC_MapMsg32ATo32W: illegal call to GetWindowLongA
+    <li>windows/winproc.c WINPROC_UnmapMsg16To32W: illegal call to WINPROC_UnmapMsg16To32A
+    <li>windows/winproc.c WINPROC_UnmapMsg32ATo32W: illegal call to GetWindowLongA
   </ul>
 
   <p>Please note that patches have been submitted for the <span class=submitted>italic</span> entries;





More information about the wine-patches mailing list