msi: Don't parse the format string when building the shortcut target path.
Hans Leidekker
hans at codeweavers.com
Thu Jan 19 05:27:05 CST 2012
It's no longer necessary because target paths are always normalized.
---
dlls/msi/action.c | 18 +-----------------
1 files changed, 1 insertions(+), 17 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index baebdc2..2347902 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -3601,25 +3601,9 @@ static UINT ITERATE_CreateShortcuts(MSIRECORD *row, LPVOID param)
target = MSI_RecordGetString(row, 5);
if (strchrW(target, '['))
{
- int len;
- WCHAR *format_string, *p;
-
- if (!(p = strchrW( target, ']' ))) goto err;
- len = p - target + 1;
- format_string = msi_alloc( (len + 1) * sizeof(WCHAR) );
- memcpy( format_string, target, len * sizeof(WCHAR) );
- format_string[len] = 0;
- deformat_string( package, format_string, &deformated );
- msi_free( format_string );
-
- path = msi_alloc( (strlenW( deformated ) + strlenW( p + 1 ) + 2) * sizeof(WCHAR) );
- strcpyW( path, deformated );
- PathAddBackslashW( path );
- strcatW( path, p + 1 );
+ deformat_string( package, target, &path );
TRACE("target path is %s\n", debugstr_w(path));
-
IShellLinkW_SetPath( sl, path );
- msi_free( deformated );
msi_free( path );
}
else
--
1.7.8.3
More information about the wine-patches
mailing list