Author: winesync Date: Wed Mar 14 15:55:03 2007 New Revision: 26077
URL: http://svn.reactos.org/svn/reactos?rev=26077&view=rev Log: Autosyncing with Wine HEAD
Modified: trunk/reactos/dll/win32/advpack/advpack.c trunk/reactos/dll/win32/advpack/advpack_private.h trunk/reactos/dll/win32/advpack/files.c trunk/reactos/dll/win32/advpack/install.c trunk/reactos/dll/win32/advpack/reg.c trunk/reactos/include/psdk/advpub.h
Modified: trunk/reactos/dll/win32/advpack/advpack.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/advpack.c... ============================================================================== --- trunk/reactos/dll/win32/advpack/advpack.c (original) +++ trunk/reactos/dll/win32/advpack/advpack.c Wed Mar 14 15:55:03 2007 @@ -191,7 +191,7 @@ */ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { - TRACE("(%p, %ld, %p)\n", hinstDLL, fdwReason, lpvReserved); + TRACE("(%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
if (fdwReason == DLL_PROCESS_ATTACH) DisableThreadLibraryCalls(hinstDLL); @@ -220,7 +220,7 @@ HANDLE hToken; PSID pSid;
- TRACE("(%ld, %p)\n", reserved, pReserved); + TRACE("(%d, %p)\n", reserved, pReserved);
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken)) return FALSE; @@ -302,7 +302,7 @@ */ BOOL WINAPI NeedReboot(DWORD dwRebootCheck) { - FIXME("(%ld): stub\n", dwRebootCheck); + FIXME("(%d): stub\n", dwRebootCheck); return FALSE; }
@@ -317,7 +317,7 @@ UNICODE_STRING filenameW, installW; HRESULT res;
- TRACE("(%s, %s, %ld, %p, %p)\n", debugstr_a(pszInfFilename), + TRACE("(%s, %s, %d, %p, %p)\n", debugstr_a(pszInfFilename), debugstr_a(pszInstallSection), dwFlags, phInf, pvReserved);
if (!pszInfFilename || !phInf) @@ -355,7 +355,7 @@ HRESULT WINAPI OpenINFEngineW(LPCWSTR pszInfFilename, LPCWSTR pszInstallSection, DWORD dwFlags, HINF *phInf, PVOID pvReserved) { - TRACE("(%s, %s, %ld, %p, %p)\n", debugstr_w(pszInfFilename), + TRACE("(%s, %s, %d, %p, %p)\n", debugstr_w(pszInfFilename), debugstr_w(pszInstallSection), dwFlags, phInf, pvReserved);
if (!pszInfFilename || !phInf) @@ -376,12 +376,12 @@ * See RebootCheckOnInstallW. */ HRESULT WINAPI RebootCheckOnInstallA(HWND hWnd, LPCSTR pszINF, - LPSTR pszSec, DWORD dwReserved) + LPCSTR pszSec, DWORD dwReserved) { UNICODE_STRING infW, secW; HRESULT res;
- TRACE("(%p, %s, %s, %ld)\n", hWnd, debugstr_a(pszINF), + TRACE("(%p, %s, %s, %d)\n", hWnd, debugstr_a(pszINF), debugstr_a(pszSec), dwReserved);
if (!pszINF || !pszSec) @@ -422,9 +422,9 @@ * Unimplemented. */ HRESULT WINAPI RebootCheckOnInstallW(HWND hWnd, LPCWSTR pszINF, - LPWSTR pszSec, DWORD dwReserved) -{ - FIXME("(%p, %s, %s, %ld): stub\n", hWnd, debugstr_w(pszINF), + LPCWSTR pszSec, DWORD dwReserved) +{ + FIXME("(%p, %s, %s, %d): stub\n", hWnd, debugstr_w(pszINF), debugstr_w(pszSec), dwReserved);
return E_FAIL; @@ -635,7 +635,7 @@ HRESULT res; DWORD len = 0;
- TRACE("(%s, %s, %s, %s, %p, %ld, %p, %p)\n", + TRACE("(%s, %s, %s, %s, %p, %d, %p, %p)\n", debugstr_a(pszInfFilename), debugstr_a(pszInstallSection), debugstr_a(pszTranslateSection), debugstr_a(pszTranslateKey), pszBuffer, dwBufferSize,pdwRequiredSize, pvReserved); @@ -710,8 +710,9 @@ DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved) { HINF hInf; - - TRACE("(%s, %s, %s, %s, %p, %ld, %p, %p)\n", + HRESULT hret = S_OK; + + TRACE("(%s, %s, %s, %s, %p, %d, %p, %p)\n", debugstr_w(pszInfFilename), debugstr_w(pszInstallSection), debugstr_w(pszTranslateSection), debugstr_w(pszTranslateKey), pszBuffer, dwBufferSize,pdwRequiredSize, pvReserved); @@ -730,13 +731,13 @@ pszBuffer, dwBufferSize, pdwRequiredSize)) { if (dwBufferSize < *pdwRequiredSize) - return HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER); - - return SPAPI_E_LINE_NOT_FOUND; + hret = HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER); + else + hret = SPAPI_E_LINE_NOT_FOUND; }
SetupCloseInfFile(hInf); - return S_OK; + return hret; }
/*********************************************************************** @@ -754,7 +755,7 @@ HRESULT res; DWORD len = 0;
- TRACE("(%p, %s, %s, %s, %s, %ld, %p, %p)\n", hInf, debugstr_a(pszInfFilename), + TRACE("(%p, %s, %s, %s, %s, %d, %p, %p)\n", hInf, debugstr_a(pszInfFilename), debugstr_a(pszTranslateSection), debugstr_a(pszTranslateKey), debugstr_a(pszBuffer), dwBufferSize, pdwRequiredSize, pvReserved);
@@ -834,7 +835,7 @@ LPWSTR pszBuffer, DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved) { - TRACE("(%p, %s, %s, %s, %s, %ld, %p, %p)\n", hInf, debugstr_w(pszInfFilename), + TRACE("(%p, %s, %s, %s, %s, %d, %p, %p)\n", hInf, debugstr_w(pszInfFilename), debugstr_w(pszTranslateSection), debugstr_w(pszTranslateKey), debugstr_w(pszBuffer), dwBufferSize, pdwRequiredSize, pvReserved);
Modified: trunk/reactos/dll/win32/advpack/advpack_private.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/advpack_p... ============================================================================== --- trunk/reactos/dll/win32/advpack/advpack_private.h (original) +++ trunk/reactos/dll/win32/advpack/advpack_private.h Wed Mar 14 15:55:03 2007 @@ -26,6 +26,5 @@ void set_ldids(HINF hInf, LPCWSTR pszInstallSection, LPCWSTR pszWorkingDir);
HRESULT launch_exe(LPCWSTR cmd, LPCWSTR dir, HANDLE *phEXE); -HRESULT do_ocx_reg(HMODULE hocx, BOOL do_reg);
#endif /* __ADVPACK_PRIVATE_H */
Modified: trunk/reactos/dll/win32/advpack/files.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/files.c?r... ============================================================================== --- trunk/reactos/dll/win32/advpack/files.c (original) +++ trunk/reactos/dll/win32/advpack/files.c Wed Mar 14 15:55:03 2007 @@ -59,10 +59,11 @@ LPCSTR lpcszBaseName, DWORD dwFlags) { UNICODE_STRING backupdir, basename; - LPWSTR filelist, backup; + LPWSTR filelist; + LPCWSTR backup; HRESULT res;
- TRACE("(%s, %s, %s, %ld)\n", debugstr_a(lpcszFileList), + TRACE("(%s, %s, %s, %d)\n", debugstr_a(lpcszFileList), debugstr_a(lpcszBackupDir), debugstr_a(lpcszBaseName), dwFlags);
if (lpcszFileList) @@ -126,7 +127,7 @@ static const WCHAR ini[] = {'.','i','n','i',0}; static const WCHAR backup[] = {'b','a','c','k','u','p',0};
- TRACE("(%s, %s, %s, %ld)\n", debugstr_w(lpcszFileList), + TRACE("(%s, %s, %s, %d)\n", debugstr_w(lpcszFileList), debugstr_w(lpcszBackupDir), debugstr_w(lpcszBaseName), dwFlags);
if (!lpcszFileList || !*lpcszFileList) @@ -164,14 +165,14 @@ /* FIXME: this is only for the local case, X:\ */ #define ROOT_LENGTH 3
-UINT CALLBACK pQuietQueueCallback(PVOID Context, UINT Notification, - UINT_PTR Param1, UINT_PTR Param2) +static UINT CALLBACK pQuietQueueCallback(PVOID Context, UINT Notification, + UINT_PTR Param1, UINT_PTR Param2) { return 1; }
-UINT CALLBACK pQueueCallback(PVOID Context, UINT Notification, - UINT_PTR Param1, UINT_PTR Param2) +static UINT CALLBACK pQueueCallback(PVOID Context, UINT Notification, + UINT_PTR Param1, UINT_PTR Param2) { /* only be verbose for error notifications */ if (!Notification || @@ -199,7 +200,7 @@ UNICODE_STRING destdir, destfile; HRESULT res;
- TRACE("(%p, %s, %s, %s, %s, %ld, %ld)\n", hwnd, debugstr_a(lpszSourceDir), + TRACE("(%p, %s, %s, %s, %s, %d, %d)\n", hwnd, debugstr_a(lpszSourceDir), debugstr_a(lpszSourceFile), debugstr_a(lpszDestDir), debugstr_a(lpszDestFile), dwFlags, dwReserved);
@@ -256,7 +257,7 @@ HSPFILEQ fileQueue; PVOID pContext;
- TRACE("(%p, %s, %s, %s, %s, %ld, %ld)\n", hwnd, debugstr_w(lpszSourceDir), + TRACE("(%p, %s, %s, %s, %s, %d, %d)\n", hwnd, debugstr_w(lpszSourceDir), debugstr_w(lpszSourceFile), debugstr_w(lpszDestDir), debugstr_w(lpszDestFile), dwFlags, dwReserved);
@@ -403,7 +404,7 @@ UNICODE_STRING fileordirname; HRESULT res;
- TRACE("(%s, %ld)\n", debugstr_a(pszFileOrDirName), dwFlags); + TRACE("(%s, %d)\n", debugstr_a(pszFileOrDirName), dwFlags);
RtlCreateUnicodeStringFromAsciiz(&fileordirname, pszFileOrDirName);
@@ -437,7 +438,7 @@ WCHAR fname[MAX_PATH]; HRESULT ret = E_FAIL;
- TRACE("(%s, %ld)\n", debugstr_w(pszFileOrDirName), dwFlags); + TRACE("(%s, %d)\n", debugstr_w(pszFileOrDirName), dwFlags);
if (dwFlags) FIXME("Flags ignored!\n"); @@ -572,7 +573,10 @@
/* empty list */ if (!lstrlenA(szConvertedList)) + { + HeapFree(GetProcessHeap(), 0, szConvertedList); return NULL; + }
*dwNumFiles = 1;
@@ -599,7 +603,7 @@ }
/* determines whether szFile is in the NULL-separated szFileList */ -static BOOL file_in_list(LPSTR szFile, LPSTR szFileList) +static BOOL file_in_list(LPCSTR szFile, LPCSTR szFileList) { DWORD dwLen = lstrlenA(szFile); DWORD dwTestLen; @@ -623,7 +627,7 @@ /* removes nodes from the linked list that aren't specified in szFileList * returns the number of files that are in both the linked list and szFileList */ -static DWORD fill_file_list(EXTRACTdest *extractDest, LPCSTR szCabName, LPSTR szFileList) +static DWORD fill_file_list(EXTRACTdest *extractDest, LPCSTR szCabName, LPCSTR szFileList) { DWORD dwNumFound = 0; struct ExtractFileList *pNode; @@ -698,7 +702,7 @@ DWORD dwFilesFound = 0; LPSTR szConvertedList = NULL;
- TRACE("(%s, %s, %ld, %s, %p, %ld)\n", debugstr_a(CabName), debugstr_a(ExpandDir), + TRACE("(%s, %s, %d, %s, %p, %d)\n", debugstr_a(CabName), debugstr_a(ExpandDir), Flags, debugstr_a(FileList), LReserved, Reserved);
if (!CabName || !ExpandDir) @@ -742,6 +746,19 @@
extractDest.flags |= EXTRACT_EXTRACTFILES; res = pExtract(&extractDest, CabName); + + if (extractDest.filelist) + { + struct ExtractFileList* curr = extractDest.filelist; + struct ExtractFileList* next; + + while (curr) + { + next = curr->next; + free_file_node(curr); + curr = next; + } + }
done: FreeLibrary(hCabinet); @@ -797,7 +814,7 @@ UNICODE_STRING filelist, dir, basename; HRESULT hr;
- TRACE("(%p, %s, %s, %s, %ld)\n", hDlg, debugstr_a(pszFileList), + TRACE("(%p, %s, %s, %s, %d)\n", hDlg, debugstr_a(pszFileList), debugstr_a(pszDir), debugstr_a(pszBaseName), dwFlags);
RtlCreateUnicodeStringFromAsciiz(&filelist, pszFileList); @@ -839,7 +856,7 @@ HRESULT WINAPI FileSaveRestoreW(HWND hDlg, LPWSTR pszFileList, LPWSTR pszDir, LPWSTR pszBaseName, DWORD dwFlags) { - FIXME("(%p, %s, %s, %s, %ld) stub\n", hDlg, debugstr_w(pszFileList), + FIXME("(%p, %s, %s, %s, %d) stub\n", hDlg, debugstr_w(pszFileList), debugstr_w(pszDir), debugstr_w(pszBaseName), dwFlags);
return E_FAIL; @@ -858,7 +875,7 @@ UNICODE_STRING backupdir, backupfile; HRESULT hr;
- TRACE("(%p, %s, %s, %s, %s, %s, %ld)\n", hWnd, debugstr_a(pszTitle), + TRACE("(%p, %s, %s, %s, %s, %s, %d)\n", hWnd, debugstr_a(pszTitle), debugstr_a(pszINF), debugstr_a(pszSection), debugstr_a(pszBackupDir), debugstr_a(pszBaseBackupFile), dwFlags);
@@ -907,7 +924,7 @@ LPCWSTR pszSection, LPCWSTR pszBackupDir, LPCWSTR pszBaseBackupFile, DWORD dwFlags) { - FIXME("(%p, %s, %s, %s, %s, %s, %ld): stub\n", hWnd, debugstr_w(pszTitle), + FIXME("(%p, %s, %s, %s, %s, %s, %d): stub\n", hWnd, debugstr_w(pszTitle), debugstr_w(pszINF), debugstr_w(pszSection), debugstr_w(pszBackupDir), debugstr_w(pszBaseBackupFile), dwFlags);
Modified: trunk/reactos/dll/win32/advpack/install.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/install.c... ============================================================================== --- trunk/reactos/dll/win32/advpack/install.c (original) +++ trunk/reactos/dll/win32/advpack/install.c Wed Mar 14 15:55:03 2007 @@ -214,14 +214,14 @@ return token; }
-static BOOL is_full_path(LPWSTR path) +static BOOL is_full_path(LPCWSTR path) { const int MIN_PATH_LEN = 3;
if (!path || lstrlenW(path) < MIN_PATH_LEN) return FALSE;
- if (path[1] == ':' || (path[0] == '\' && path[1] == '\')) + if ((path[1] == ':' && path[2] == '\') || (path[0] == '\' && path[1] == '\')) return TRUE;
return FALSE; @@ -229,7 +229,7 @@
/* retrieves the contents of a field, dynamically growing the buffer if necessary */ static WCHAR *get_field_string(INFCONTEXT *context, DWORD index, WCHAR *buffer, - WCHAR *static_buffer, DWORD *size) + const WCHAR *static_buffer, DWORD *size) { DWORD required;
@@ -425,8 +425,8 @@ }
/* loads the INF file and performs checks on it */ -HRESULT install_init(LPCWSTR inf_filename, LPCWSTR install_sec, - LPCWSTR working_dir, DWORD flags, ADVInfo *info) +static HRESULT install_init(LPCWSTR inf_filename, LPCWSTR install_sec, + LPCWSTR working_dir, DWORD flags, ADVInfo *info) { DWORD len; HRESULT hr; @@ -500,7 +500,7 @@ }
/* release the install instance information */ -void install_release(ADVInfo *info) +static void install_release(ADVInfo *info) { if (info->hinf && info->hinf != INVALID_HANDLE_VALUE) SetupCloseInfFile(info->hinf); @@ -833,7 +833,7 @@ LPWSTR cmdline_copy, cmdline_ptr; LPWSTR flags, ptr; CABINFOW cabinfo; - HRESULT hr = S_OK; + HRESULT hr;
TRACE("(%p, %p, %s, %d)\n", hWnd, hInst, debugstr_w(cmdline), show);
@@ -853,22 +853,26 @@ if (flags) cabinfo.dwFlags = atolW(flags);
+ if (!is_full_path(cabinfo.pszCab) && !is_full_path(cabinfo.pszInf)) + { + HeapFree(GetProcessHeap(), 0, cmdline_copy); + return E_INVALIDARG; + } + /* get the source path from the cab filename */ if (cabinfo.pszCab && *cabinfo.pszCab) { if (!is_full_path(cabinfo.pszCab)) - goto done; - - lstrcpyW(cabinfo.szSrcPath, cabinfo.pszCab); + lstrcpyW(cabinfo.szSrcPath, cabinfo.pszInf); + else + lstrcpyW(cabinfo.szSrcPath, cabinfo.pszCab); + ptr = strrchrW(cabinfo.szSrcPath, '\'); *(++ptr) = '\0'; }
hr = ExecuteCabW(hWnd, &cabinfo, NULL); - -done: HeapFree(GetProcessHeap(), 0, cmdline_copy); - return SUCCEEDED(hr) ? ADV_SUCCESS : ADV_FAILURE; }
@@ -919,7 +923,7 @@ UNICODE_STRING dir, title; HRESULT hr;
- TRACE("(%p, %s, %s, %s, %s, %p, %ld, %p)\n", + TRACE("(%p, %s, %s, %s, %s, %p, %d, %p)\n", hWnd, debugstr_a(szCmdName), debugstr_a(szInfSection), debugstr_a(szDir), debugstr_a(lpszTitle), phEXE, dwFlags, pvReserved); @@ -976,7 +980,7 @@ ADVInfo info; HRESULT hr;
- TRACE("(%p, %s, %s, %s, %s, %p, %ld, %p)\n", + TRACE("(%p, %s, %s, %s, %s, %p, %d, %p)\n", hWnd, debugstr_w(szCmdName), debugstr_w(szInfSection), debugstr_w(szDir), debugstr_w(lpszTitle), phEXE, dwFlags, pvReserved);
Modified: trunk/reactos/dll/win32/advpack/reg.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/reg.c?rev... ============================================================================== --- trunk/reactos/dll/win32/advpack/reg.c (original) +++ trunk/reactos/dll/win32/advpack/reg.c Wed Mar 14 15:55:03 2007 @@ -98,7 +98,7 @@ return FALSE; }
-static void strentry_atow(STRENTRYA *aentry, STRENTRYW *wentry) +static void strentry_atow(const STRENTRYA *aentry, STRENTRYW *wentry) { DWORD name_len, val_len;
@@ -171,7 +171,7 @@ return hr; }
-static HRESULT write_predefined_strings(HMODULE hm, LPWSTR ini_path) +static HRESULT write_predefined_strings(HMODULE hm, LPCWSTR ini_path) { WCHAR mod_path[MAX_PATH + 2]; WCHAR sys_mod_path[MAX_PATH + 2]; @@ -324,7 +324,7 @@ UNICODE_STRING title, root, subkey, value; HRESULT hr;
- TRACE("(%p, %s, %p, %s, %s, %s, %ld)\n", hWnd, debugstr_a(pszTitleString), + TRACE("(%p, %s, %p, %s, %s, %s, %d)\n", hWnd, debugstr_a(pszTitleString), hkBackupKey, debugstr_a(pcszRootKey), debugstr_a(pcszSubKey), debugstr_a(pcszValueName), dwFlags);
@@ -369,7 +369,7 @@ LPCWSTR pcszRootKey, LPCWSTR pcszSubKey, LPCWSTR pcszValueName, DWORD dwFlags) { - FIXME("(%p, %s, %p, %s, %s, %s, %ld): stub\n", hWnd, debugstr_w(pszTitleString), + FIXME("(%p, %s, %p, %s, %s, %s, %d): stub\n", hWnd, debugstr_w(pszTitleString), hkBackupKey, debugstr_w(pcszRootKey), debugstr_w(pcszSubKey), debugstr_w(pcszValueName), dwFlags);
@@ -388,7 +388,7 @@ UNICODE_STRING title, inf, section; HRESULT hr;
- TRACE("(%p, %s, %s, %s, %p, %p, %ld)\n", hWnd, debugstr_a(pszTitle), + TRACE("(%p, %s, %s, %s, %p, %p, %d)\n", hWnd, debugstr_a(pszTitle), debugstr_a(pszINF), debugstr_a(pszSection), hHKLMBackKey, hHKCUBackKey, dwFlags);
@@ -431,7 +431,7 @@ LPCWSTR pszSection, HKEY hHKLMBackKey, HKEY hHKCUBackKey, DWORD dwFlags) { - FIXME("(%p, %s, %s, %s, %p, %p, %ld): stub\n", hWnd, debugstr_w(pszTitle), + FIXME("(%p, %s, %s, %s, %p, %p, %d): stub\n", hWnd, debugstr_w(pszTitle), debugstr_w(pszINF), debugstr_w(pszSection), hHKLMBackKey, hHKCUBackKey, dwFlags);
Modified: trunk/reactos/include/psdk/advpub.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/advpub.h?rev=2... ============================================================================== --- trunk/reactos/include/psdk/advpub.h (original) +++ trunk/reactos/include/psdk/advpub.h Wed Mar 14 15:55:03 2007 @@ -223,8 +223,8 @@ HRESULT WINAPI OpenINFEngineW(LPCWSTR pszInfFilename, LPCWSTR pszInstallSection, DWORD dwFlags, HINF *phInf, PVOID pvReserved); #define OpenINFEngine WINELIB_NAME_AW(OpenINFEngine) -HRESULT WINAPI RebootCheckOnInstallA(HWND hWnd, LPCSTR pszINF, LPSTR pszSec, DWORD dwReserved); -HRESULT WINAPI RebootCheckOnInstallW(HWND hWnd, LPCWSTR pszINF, LPWSTR pszSec, DWORD dwReserved); +HRESULT WINAPI RebootCheckOnInstallA(HWND hWnd, LPCSTR pszINF, LPCSTR pszSec, DWORD dwReserved); +HRESULT WINAPI RebootCheckOnInstallW(HWND hWnd, LPCWSTR pszINF, LPCWSTR pszSec, DWORD dwReserved); #define RebootCheckOnInstall WINELIB_NAME_AW(RebootCheckOnInstall) HRESULT WINAPI RegInstallA(HMODULE hm, LPCSTR pszSection, const STRTABLEA* pstTable); HRESULT WINAPI RegInstallW(HMODULE hm, LPCWSTR pszSection, const STRTABLEW* pstTable);