James Hawkins : msi: Fix handling of the no-op identifier in the Directory table.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jun 21 08:02:20 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: a1910e11bb4608469d2e70da7c00c651c0e12360
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=a1910e11bb4608469d2e70da7c00c651c0e12360

Author: James Hawkins <truiken at gmail.com>
Date:   Tue Jun 20 15:46:41 2006 -0700

msi: Fix handling of the no-op identifier in the Directory table.

---

 dlls/msi/action.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 63eb9c7..a953da4 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -1421,6 +1421,7 @@ static MSIFOLDER *load_folder( MSIPACKAG
          ' ','=',' ','\'','%','s','\'',
          0};
     static const WCHAR szDot[] = { '.',0 };
+    static WCHAR szEmpty[] = { 0 };
     LPWSTR p, tgt_short, tgt_long, src_short, src_long;
     LPCWSTR parent;
     MSIRECORD *row;
@@ -1454,11 +1455,11 @@ static MSIFOLDER *load_folder( MSIPACKAG
     tgt_long = folder_split_path( tgt_short, '|' );
     src_long = folder_split_path( src_short, '|' );
 
-    /* check for root dirs */
+    /* check for no-op dirs */
     if (!lstrcmpW(szDot, tgt_short))
-        tgt_short = NULL;
-    if (!lstrcmpW(szDot, tgt_long))
-        tgt_long = NULL;
+        tgt_short = szEmpty;
+    if (!lstrcmpW(szDot, src_short))
+        src_short = szEmpty;
 
     if (!tgt_long)
         tgt_long = tgt_short;




More information about the wine-cvs mailing list