Module: wine Branch: master Commit: 4295ce4fb63c833cd30b9f351897fd4302cf4c09 URL: http://source.winehq.org/git/wine.git/?a=commit;h=4295ce4fb63c833cd30b9f3518...
Author: James Hawkins truiken@gmail.com Date: Sun Dec 16 20:30:14 2007 -0600
msi: Return ERROR_INVALID_PARAMETER if the product list is empty and index is not zero.
---
dlls/msi/registry.c | 4 ++++ dlls/msi/tests/msi.c | 10 ++-------- 2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/dlls/msi/registry.c b/dlls/msi/registry.c index c80247a..12d2c9a 100644 --- a/dlls/msi/registry.c +++ b/dlls/msi/registry.c @@ -1327,6 +1327,10 @@ UINT WINAPI MsiEnumClientsW(LPCWSTR szComponent, DWORD index, LPWSTR szProduct) if (r != ERROR_SUCCESS) { RegCloseKey(hkeyComp); + + if (index != 0) + return ERROR_INVALID_PARAMETER; + return ERROR_UNKNOWN_COMPONENT; }
diff --git a/dlls/msi/tests/msi.c b/dlls/msi/tests/msi.c index c46d651..b31d88f 100644 --- a/dlls/msi/tests/msi.c +++ b/dlls/msi/tests/msi.c @@ -1649,10 +1649,7 @@ static void test_MsiEnumClients(void) /* index > 0, no products exist */ product[0] = '\0'; r = MsiEnumClientsA(component, 1, product); - todo_wine - { - ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r); - } + ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r); ok(!lstrcmpA(product, ""), "Expected product to be unchanged, got %s\n", product);
res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"C:\imapath", 10); @@ -1722,10 +1719,7 @@ static void test_MsiEnumClients(void) /* index > 0, no products exist */ product[0] = '\0'; r = MsiEnumClientsA(component, 1, product); - todo_wine - { - ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r); - } + ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r); ok(!lstrcmpA(product, ""), "Expected product to be unchanged, got %s\n", product);
res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"C:\imapath", 10);