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