James Hawkins : msi: Simplify MsiSourceListAddMediaDisk.
Alexandre Julliard
julliard at winehq.org
Mon Feb 25 06:51:27 CST 2008
Module: wine
Branch: master
Commit: b532c0c3067b95b48f400feb755b4301cf825c7c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b532c0c3067b95b48f400feb755b4301cf825c7c
Author: James Hawkins <jhawkins at codeweavers.com>
Date: Sun Feb 24 20:09:35 2008 -0600
msi: Simplify MsiSourceListAddMediaDisk.
---
dlls/msi/source.c | 38 ++++++++++++++------------------------
1 files changed, 14 insertions(+), 24 deletions(-)
diff --git a/dlls/msi/source.c b/dlls/msi/source.c
index 85b3d81..716414f 100644
--- a/dlls/msi/source.c
+++ b/dlls/msi/source.c
@@ -979,13 +979,12 @@ UINT WINAPI MsiSourceListAddMediaDiskW(LPCWSTR szProduct, LPCWSTR szUserSid,
UINT rc;
WCHAR szIndex[10];
WCHAR squished_pc[GUID_SIZE];
- static const WCHAR fmt[] = {'%','i',0};
- static const WCHAR disk_fmt[] = {'%','s',';','%','s',0};
- static const WCHAR empty[1] = {0};
- LPCWSTR pt1,pt2;
LPWSTR buffer;
DWORD size;
+ static const WCHAR fmt[] = {'%','i',0};
+ static const WCHAR semicolon[] = {';',0};
+
TRACE("%s %s %x %x %i %s %s\n", debugstr_w(szProduct),
debugstr_w(szUserSid), dwContext, dwOptions, dwDiskId,
debugstr_w(szVolumeLabel), debugstr_w(szDiskPrompt));
@@ -1012,33 +1011,24 @@ UINT WINAPI MsiSourceListAddMediaDiskW(LPCWSTR szProduct, LPCWSTR szUserSid,
if (rc != ERROR_SUCCESS)
return rc;
- OpenMediaSubkey(sourcekey,&mediakey,TRUE);
+ OpenMediaSubkey(sourcekey, &mediakey, TRUE);
- sprintfW(szIndex,fmt,dwDiskId);
+ sprintfW(szIndex, fmt, dwDiskId);
size = 2;
- if (szVolumeLabel)
- {
- size +=lstrlenW(szVolumeLabel);
- pt1 = szVolumeLabel;
- }
- else
- pt1 = empty;
- if (szDiskPrompt)
- {
- size +=lstrlenW(szDiskPrompt);
- pt2 = szDiskPrompt;
- }
- else
- pt2 = empty;
-
- size *=sizeof(WCHAR);
+ if (szVolumeLabel) size += lstrlenW(szVolumeLabel);
+ if (szDiskPrompt) size += lstrlenW(szDiskPrompt);
+ size *= sizeof(WCHAR);
buffer = msi_alloc(size);
- sprintfW(buffer,disk_fmt,pt1,pt2);
+ *buffer = '\0';
+
+ if (szVolumeLabel) lstrcpyW(buffer, szVolumeLabel);
+ lstrcatW(buffer, semicolon);
+ if (szDiskPrompt) lstrcatW(buffer, szDiskPrompt);
RegSetValueExW(mediakey, szIndex, 0, REG_SZ, (LPBYTE)buffer, size);
- msi_free( buffer );
+ msi_free(buffer);
RegCloseKey(sourcekey);
RegCloseKey(mediakey);
More information about the wine-cvs
mailing list