msi: Fix ACTION_AppSearchDr on empty path.

Nicolas Le Cam niko.lecam at gmail.com
Mon Apr 20 19:11:23 CDT 2009


---
 dlls/msi/appsearch.c     |    7 +++++--
 dlls/msi/tests/package.c |    1 -
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/dlls/msi/appsearch.c b/dlls/msi/appsearch.c
index ff54be0..9cc1592 100644
--- a/dlls/msi/appsearch.c
+++ b/dlls/msi/appsearch.c
@@ -969,7 +969,10 @@ static UINT ACTION_AppSearchDr(MSIPACKAGE *package, LPWSTR *appValue, MSISIGNATU
     else
         depth = MSI_RecordGetInteger(row,4);
 
-    ACTION_ExpandAnyPath(package, path, expanded, MAX_PATH);
+    if (sz)
+        ACTION_ExpandAnyPath(package, path, expanded, MAX_PATH);
+    else
+        strcpyW(expanded, path);
 
     if (parent)
     {
@@ -984,7 +987,7 @@ static UINT ACTION_AppSearchDr(MSIPACKAGE *package, LPWSTR *appValue, MSISIGNATU
         strcpyW(path, parent);
         strcatW(path, expanded);
     }
-    else
+    else if (sz)
         strcpyW(path, expanded);
 
     PathAddBackslashW(path);
diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c
index 8766260..12127ee 100644
--- a/dlls/msi/tests/package.c
+++ b/dlls/msi/tests/package.c
@@ -8818,7 +8818,6 @@ static void test_appsearch_drlocator(void)
     search_absolute_directory(path, "");
     r = MsiGetPropertyA(hpkg, "SIGPROP11", prop, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    todo_wine
     ok(!lstrcmpA(prop, path), "Expected \"%s\", got \"%s\"\n", path, prop);
 
     DeleteFileA("FileName1");
-- 
1.6.0.4


--=-usDoWYFz6z/ggmYdiPQk--




More information about the wine-patches mailing list