diff --git a/rostests/winetests/advpack/advpack.c b/rostests/winetests/advpack/advpack.c index eeb35c6264c..8615850ab38 100644 --- a/rostests/winetests/advpack/advpack.c +++ b/rostests/winetests/advpack/advpack.c @@ -264,7 +264,7 @@ static void translateinfstring_test(void) if(hr == HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND)) { - trace("WinNT 3.51 detected. Skipping tests for TranslateInfString()\n"); + win_skip("WinNT 3.51 detected. Skipping tests for TranslateInfString()\n"); return; } @@ -325,6 +325,13 @@ static void translateinfstringex_test(void) char buffer[MAX_PATH]; DWORD size = MAX_PATH; + hr = pOpenINFEngine(inf_file, NULL, 0, &hinf, NULL); + if (hr == E_UNEXPECTED) + { + skip("Skipping tests on win9x because of brokenness\n"); + return; + } + create_inf_file(); /* need to see if there are any flags */ diff --git a/rostests/winetests/advpack/files.c b/rostests/winetests/advpack/files.c index d018975dcaf..9ddd3bc0062 100644 --- a/rostests/winetests/advpack/files.c +++ b/rostests/winetests/advpack/files.c @@ -97,6 +97,7 @@ static BOOL check_ini_file_attr(LPSTR filename) static void test_AddDelBackupEntry(void) { + BOOL ret; HRESULT res; CHAR path[MAX_PATH]; CHAR windir[MAX_PATH]; @@ -165,7 +166,10 @@ static void test_AddDelBackupEntry(void) res = pAddDelBackupEntry("one\0three\0", NULL, "basename", AADBE_DEL_ENTRY); SetFileAttributesA(path, FILE_ATTRIBUTE_NORMAL); ok(res == S_OK, "Expected S_OK, got %d\n", res); - ok(DeleteFileA(path), "Expected path to exist\n"); + ret = DeleteFileA(path); + ok(ret == TRUE || + broken(ret == FALSE), /* win98 */ + "Expected path to exist\n"); } /* the FCI callbacks */ diff --git a/rostests/winetests/advpack/install.c b/rostests/winetests/advpack/install.c index 854ede6dae5..3b0954fcf23 100644 --- a/rostests/winetests/advpack/install.c +++ b/rostests/winetests/advpack/install.c @@ -55,27 +55,20 @@ static BOOL is_spapi_err(DWORD err) return (((err & SPAPI_MASK) ^ SPAPI_PREFIX) == 0); } -static void append_str(char **str, const char *data) -{ - sprintf(*str, data); - *str += strlen(*str); -} - static void create_inf_file(LPCSTR filename) { - char data[1024]; - char *ptr = data; DWORD dwNumberOfBytesWritten; HANDLE hf = CreateFile(filename, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); - append_str(&ptr, "[Version]\n"); - append_str(&ptr, "Signature=\"$Chicago$\"\n"); - append_str(&ptr, "AdvancedINF=2.5\n"); - append_str(&ptr, "[DefaultInstall]\n"); - append_str(&ptr, "CheckAdminRights=1\n"); + static const char data[] = + "[Version]\n" + "Signature=\"$Chicago$\"\n" + "AdvancedINF=2.5\n" + "[DefaultInstall]\n" + "CheckAdminRights=1\n"; - WriteFile(hf, data, ptr - data, &dwNumberOfBytesWritten, NULL); + WriteFile(hf, data, sizeof(data) - 1, &dwNumberOfBytesWritten, NULL); CloseHandle(hf); }