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
9588deb5
Commit
9588deb5
authored
Oct 29, 2012
by
Hans Leidekker
Committed by
Alexandre Julliard
Oct 29, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi: Preserve strings with embedded nulls when copying from the string table to a record.
parent
32aed607
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
12 additions
and
11 deletions
+12
-11
msiquery.c
dlls/msi/msiquery.c
+3
-4
package.c
dlls/msi/package.c
+1
-1
select.c
dlls/msi/select.c
+3
-2
table.c
dlls/msi/table.c
+5
-4
No files found.
dlls/msi/msiquery.c
View file @
9588deb5
...
...
@@ -345,10 +345,9 @@ UINT msi_view_get_row(MSIDATABASE *db, MSIVIEW *view, UINT row, MSIRECORD **rec)
if
(
type
&
MSITYPE_STRING
)
{
LPCWSTR
sval
;
sval
=
msi_string_lookup
(
db
->
strings
,
ival
,
NULL
);
MSI_RecordSetStringW
(
*
rec
,
i
,
sval
);
int
len
;
const
WCHAR
*
sval
=
msi_string_lookup
(
db
->
strings
,
ival
,
&
len
);
msi_record_set_string
(
*
rec
,
i
,
sval
,
len
);
}
else
{
...
...
dlls/msi/package.c
View file @
9588deb5
...
...
@@ -2181,7 +2181,7 @@ UINT msi_get_property( MSIDATABASE *db, LPCWSTR szName,
}
if
(
rc
==
ERROR_SUCCESS
)
TRACE
(
"returning %s for property %s
\n
"
,
debugstr_w
(
sz
ValueBuf
),
TRACE
(
"returning %s for property %s
\n
"
,
debugstr_w
n
(
szValueBuf
,
*
pch
ValueBuf
),
debugstr_w
(
szName
));
else
if
(
rc
==
ERROR_MORE_DATA
)
TRACE
(
"need %d sized buffer for %s
\n
"
,
*
pchValueBuf
,
...
...
dlls/msi/select.c
View file @
9588deb5
...
...
@@ -276,8 +276,9 @@ static UINT msi_select_update(struct tagMSIVIEW *view, MSIRECORD *rec, UINT row)
}
else
if
(
type
&
MSITYPE_STRING
)
{
str
=
MSI_RecordGetString
(
rec
,
i
+
1
);
r
=
MSI_RecordSetStringW
(
mod
,
col
,
str
);
int
len
;
str
=
msi_record_get_string
(
rec
,
i
+
1
,
&
len
);
r
=
msi_record_set_string
(
mod
,
col
,
str
,
len
);
}
else
{
...
...
dlls/msi/table.c
View file @
9588deb5
...
...
@@ -2340,12 +2340,13 @@ static MSIRECORD *msi_get_transform_record( const MSITABLEVIEW *tv, const string
}
else
if
(
columns
[
i
].
type
&
MSITYPE_STRING
)
{
LPCWSTR
sval
;
int
len
;
const
WCHAR
*
sval
;
val
=
read_raw_int
(
rawdata
,
ofs
,
bytes_per_strref
);
sval
=
msi_string_lookup
(
st
,
val
,
NULL
);
MSI_RecordSetStringW
(
rec
,
i
+
1
,
sval
);
TRACE
(
" field %d [%s]
\n
"
,
i
+
1
,
debugstr_w
(
sval
));
sval
=
msi_string_lookup
(
st
,
val
,
&
len
);
msi_record_set_string
(
rec
,
i
+
1
,
sval
,
len
);
TRACE
(
" field %d [%s]
\n
"
,
i
+
1
,
debugstr_w
n
(
sval
,
len
));
ofs
+=
bytes_per_strref
;
}
else
...
...
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