I know I'm just a random guy subscribed, but I couldn't help but notice that your <li> tags weren't closed.
On Wed, 2004-09-15 at 21:56 -0700, Tony Lambregts wrote:
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;