msi: Fix handling of the no-op identifier in the Directory table.
This commit is contained in:
parent
8e73e411a6
commit
a1910e11bb
|
@ -1421,6 +1421,7 @@ static MSIFOLDER *load_folder( MSIPACKAGE *package, LPCWSTR dir )
|
||||||
' ','=',' ','\'','%','s','\'',
|
' ','=',' ','\'','%','s','\'',
|
||||||
0};
|
0};
|
||||||
static const WCHAR szDot[] = { '.',0 };
|
static const WCHAR szDot[] = { '.',0 };
|
||||||
|
static WCHAR szEmpty[] = { 0 };
|
||||||
LPWSTR p, tgt_short, tgt_long, src_short, src_long;
|
LPWSTR p, tgt_short, tgt_long, src_short, src_long;
|
||||||
LPCWSTR parent;
|
LPCWSTR parent;
|
||||||
MSIRECORD *row;
|
MSIRECORD *row;
|
||||||
|
@ -1454,11 +1455,11 @@ static MSIFOLDER *load_folder( MSIPACKAGE *package, LPCWSTR dir )
|
||||||
tgt_long = folder_split_path( tgt_short, '|' );
|
tgt_long = folder_split_path( tgt_short, '|' );
|
||||||
src_long = folder_split_path( src_short, '|' );
|
src_long = folder_split_path( src_short, '|' );
|
||||||
|
|
||||||
/* check for root dirs */
|
/* check for no-op dirs */
|
||||||
if (!lstrcmpW(szDot, tgt_short))
|
if (!lstrcmpW(szDot, tgt_short))
|
||||||
tgt_short = NULL;
|
tgt_short = szEmpty;
|
||||||
if (!lstrcmpW(szDot, tgt_long))
|
if (!lstrcmpW(szDot, src_short))
|
||||||
tgt_long = NULL;
|
src_short = szEmpty;
|
||||||
|
|
||||||
if (!tgt_long)
|
if (!tgt_long)
|
||||||
tgt_long = tgt_short;
|
tgt_long = tgt_short;
|
||||||
|
|
Loading…
Reference in New Issue