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
9dddb94b
Commit
9dddb94b
authored
Oct 20, 2009
by
Hib Eris
Committed by
Alexandre Julliard
Oct 20, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi: Fix merging string type checks.
parent
925fb3b4
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
2 deletions
+15
-2
database.c
dlls/msi/database.c
+14
-1
db.c
dlls/msi/tests/db.c
+1
-1
No files found.
dlls/msi/database.c
View file @
9dddb94b
...
@@ -1081,6 +1081,19 @@ typedef struct _tagMERGEDATA
...
@@ -1081,6 +1081,19 @@ typedef struct _tagMERGEDATA
struct
list
*
tabledata
;
struct
list
*
tabledata
;
}
MERGEDATA
;
}
MERGEDATA
;
static
BOOL
merge_type_match
(
LPCWSTR
type1
,
LPCWSTR
type2
)
{
if
(((
type1
[
0
]
==
'l'
)
||
(
type1
[
0
]
==
's'
))
&&
((
type2
[
0
]
==
'l'
)
||
(
type2
[
0
]
==
's'
)))
return
TRUE
;
if
(((
type1
[
0
]
==
'L'
)
||
(
type1
[
0
]
==
'S'
))
&&
((
type2
[
0
]
==
'L'
)
||
(
type2
[
0
]
==
'S'
)))
return
TRUE
;
return
!
lstrcmpW
(
type1
,
type2
);
}
static
UINT
merge_verify_colnames
(
MSIQUERY
*
dbview
,
MSIQUERY
*
mergeview
)
static
UINT
merge_verify_colnames
(
MSIQUERY
*
dbview
,
MSIQUERY
*
mergeview
)
{
{
MSIRECORD
*
dbrec
,
*
mergerec
;
MSIRECORD
*
dbrec
,
*
mergerec
;
...
@@ -1126,7 +1139,7 @@ static UINT merge_verify_colnames(MSIQUERY *dbview, MSIQUERY *mergeview)
...
@@ -1126,7 +1139,7 @@ static UINT merge_verify_colnames(MSIQUERY *dbview, MSIQUERY *mergeview)
if
(
!
MSI_RecordGetString
(
mergerec
,
i
))
if
(
!
MSI_RecordGetString
(
mergerec
,
i
))
break
;
break
;
if
(
lstrcmpW
(
MSI_RecordGetString
(
dbrec
,
i
),
if
(
!
merge_type_match
(
MSI_RecordGetString
(
dbrec
,
i
),
MSI_RecordGetString
(
mergerec
,
i
)))
MSI_RecordGetString
(
mergerec
,
i
)))
{
{
r
=
ERROR_DATATYPE_MISMATCH
;
r
=
ERROR_DATATYPE_MISMATCH
;
...
...
dlls/msi/tests/db.c
View file @
9dddb94b
...
@@ -7273,7 +7273,7 @@ static void test_dbmerge(void)
...
@@ -7273,7 +7273,7 @@ static void test_dbmerge(void)
/* column sting types don't match exactly */
/* column sting types don't match exactly */
r
=
MsiDatabaseMergeA
(
hdb
,
href
,
"MergeErrors"
);
r
=
MsiDatabaseMergeA
(
hdb
,
href
,
"MergeErrors"
);
todo_wine
ok
(
r
==
ERROR_SUCCESS
,
ok
(
r
==
ERROR_SUCCESS
,
"Expected ERROR_SUCCESS, got %d
\n
"
,
r
);
"Expected ERROR_SUCCESS, got %d
\n
"
,
r
);
/* nothing in MergeErrors */
/* nothing in MergeErrors */
...
...
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