James Hawkins : msi: Use a more unique property separator.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jul 30 08:55:37 CDT 2007


Module: wine
Branch: master
Commit: 9089835c3552d70b1f54901d7e500814a209a9d3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9089835c3552d70b1f54901d7e500814a209a9d3

Author: James Hawkins <truiken at gmail.com>
Date:   Fri Jul 27 11:13:01 2007 -0700

msi: Use a more unique property separator.

---

 dlls/msi/custom.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c
index 54efc85..390113e 100644
--- a/dlls/msi/custom.c
+++ b/dlls/msi/custom.c
@@ -137,7 +137,7 @@ static BOOL check_execution_scheduling_options(MSIPACKAGE *package, LPCWSTR acti
 
 /* stores the following properties before the action:
  *
- *    [CustomActionData][UserSID][ProductCode]Action
+ *    [CustomActionData<=>UserSID<=>ProductCode]Action
  */
 static LPWSTR msi_get_deferred_action(LPCWSTR action, LPCWSTR actiondata,
                                       LPCWSTR usersid, LPCWSTR prodcode)
@@ -145,7 +145,9 @@ static LPWSTR msi_get_deferred_action(LPCWSTR action, LPCWSTR actiondata,
     LPWSTR deferred;
     DWORD len;
 
-    static const WCHAR format[] = {'[','%','s',']','[','%','s',']','[','%','s',']','%','s',0};
+    static const WCHAR format[] = {
+            '[','%','s','<','=','>','%','s','<','=','>','%','s',']','%','s',0
+    };
 
     if (!actiondata)
         return strdupW(action);
@@ -162,15 +164,17 @@ static void set_deferred_action_props(MSIPACKAGE *package, LPWSTR deferred_data)
 {
     LPWSTR end, beg = deferred_data + 1;
 
-    end = strchrW(beg, ']');
+    static const WCHAR sep[] = {'<','=','>',0};
+
+    end = strstrW(beg, sep);
     *end = '\0';
     MSI_SetPropertyW(package, szActionData, beg);
-    beg = end + 2;
+    beg = end + 3;
 
-    end = strchrW(beg, ']');
+    end = strstrW(beg, sep);
     *end = '\0';
     MSI_SetPropertyW(package, UserSID, beg);
-    beg = end + 2;
+    beg = end + 3;
 
     end = strchrW(beg, ']');
     *end = '\0';




More information about the wine-cvs mailing list