MSI: fix bugs in resolve_folder

Mike McCormack mike at codeweavers.com
Sat Jul 3 20:16:01 CDT 2004


ChangeLog:
<aric at codeweavers.com>
* fix bugs in resolve_folder
-------------- next part --------------
diff -ur dlls/msi.old/action.c dlls/msi/action.c
--- dlls/msi.old/action.c	2004-07-03 20:11:44.000000000 -0500
+++ dlls/msi/action.c	2004-07-03 20:13:50.000000000 -0500
@@ -1651,19 +1651,25 @@
                        package->folders[i].ParentIndex].Directory, path,source,
                        set_prop, NULL);
 
-        if (!source && package->folders[i].TargetDefault[0])
+        if (!source)
         {
-            strcatW(path,package->folders[i].TargetDefault);
-            strcatW(path,cszbs);
+            if (package->folders[i].TargetDefault[0])
+            {
+                strcatW(path,package->folders[i].TargetDefault);
+                strcatW(path,cszbs);
+            }
             strcpyW(package->folders[i].ResolvedTarget,path);
             TRACE("   resolved into %s\n",debugstr_w(path));
             if (set_prop)
                 MsiSetPropertyW(hPackage,name,path);
         }
-        else if (package->folders[i].SourceDefault[0])
+        else 
         {
-            strcatW(path,package->folders[i].SourceDefault);
-            strcatW(path,cszbs);
+            if (package->folders[i].SourceDefault[0])
+            {
+                strcatW(path,package->folders[i].SourceDefault);
+                strcatW(path,cszbs);
+            }
             strcpyW(package->folders[i].ResolvedSource,path);
         }
     }
@@ -2200,7 +2206,7 @@
         {
             if (package->files[index].State >= 3)
             {
-                strcmpW(file_source,package->files[index].TargetPath);
+                strcpyW(file_source,package->files[index].TargetPath);
                 return ERROR_SUCCESS;
             }
             else
@@ -2292,7 +2298,6 @@
 
         if (MsiRecordIsNull(row,4))
         {
-ERR("HERE target path %s\n",debugstr_w(file_source));
             strcpyW(dest_name,strrchrW(file_source,'\\')+1);
         }
         else


More information about the wine-patches mailing list