Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
33299faa
Commit
33299faa
authored
Apr 13, 2010
by
Hans Leidekker
Committed by
Alexandre Julliard
Apr 13, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi: Move application of substorage transforms out of msi_parse_patch_summary.
parent
bcc0ad9b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
14 deletions
+17
-14
action.c
dlls/msi/action.c
+17
-14
No files found.
dlls/msi/action.c
View file @
33299faa
...
...
@@ -491,8 +491,7 @@ done:
static
UINT
msi_parse_patch_summary
(
MSIPACKAGE
*
package
,
MSIDATABASE
*
patch_db
)
{
MSISUMMARYINFO
*
si
;
LPWSTR
str
,
*
substorage
;
UINT
i
,
r
=
ERROR_SUCCESS
;
UINT
r
=
ERROR_SUCCESS
;
si
=
MSI_GetSummaryInformationW
(
patch_db
->
storage
,
0
);
if
(
!
si
)
...
...
@@ -519,26 +518,22 @@ static UINT msi_parse_patch_summary( MSIPACKAGE *package, MSIDATABASE *patch_db
return
ERROR_OUTOFMEMORY
;
}
/* enumerate the substorage */
str
=
msi_suminfo_dup_string
(
si
,
PID_LASTAUTHOR
);
package
->
patch
->
transforms
=
str
;
substorage
=
msi_split_string
(
str
,
';'
);
for
(
i
=
0
;
substorage
&&
substorage
[
i
]
&&
r
==
ERROR_SUCCESS
;
i
++
)
r
=
msi_apply_substorage_transform
(
package
,
patch_db
,
substorage
[
i
]
);
package
->
patch
->
transforms
=
msi_suminfo_dup_string
(
si
,
PID_LASTAUTHOR
);
if
(
!
package
->
patch
->
transforms
)
{
msiobj_release
(
&
si
->
hdr
);
return
ERROR_OUTOFMEMORY
;
}
msi_free
(
substorage
);
msiobj_release
(
&
si
->
hdr
);
msi_set_media_source_prop
(
package
);
return
r
;
}
static
UINT
msi_apply_patch_package
(
MSIPACKAGE
*
package
,
LPCWSTR
file
)
{
MSIDATABASE
*
patch_db
=
NULL
;
UINT
r
;
LPWSTR
*
substorage
;
UINT
i
,
r
;
TRACE
(
"%p %s
\n
"
,
package
,
debugstr_w
(
file
)
);
...
...
@@ -556,6 +551,14 @@ static UINT msi_apply_patch_package( MSIPACKAGE *package, LPCWSTR file )
msi_parse_patch_summary
(
package
,
patch_db
);
/* apply substorage transforms */
substorage
=
msi_split_string
(
package
->
patch
->
transforms
,
';'
);
for
(
i
=
0
;
substorage
&&
substorage
[
i
]
&&
r
==
ERROR_SUCCESS
;
i
++
)
r
=
msi_apply_substorage_transform
(
package
,
patch_db
,
substorage
[
i
]
);
msi_free
(
substorage
);
msi_set_media_source_prop
(
package
);
/*
* There might be a CAB file in the patch package,
* so append it to the list of storage to search for streams.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment