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
f69d7bf0
Commit
f69d7bf0
authored
Jan 10, 2006
by
Mike McCormack
Committed by
Alexandre Julliard
Jan 10, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi: Count the number of columns requested and allocate that many,
as columns may be select more than once in from a table.
parent
aa81e4fa
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
7 deletions
+10
-7
select.c
dlls/msi/select.c
+10
-7
No files found.
dlls/msi/select.c
View file @
f69d7bf0
...
@@ -245,20 +245,23 @@ static UINT SELECT_AddColumn( MSISELECTVIEW *sv, LPCWSTR name )
...
@@ -245,20 +245,23 @@ static UINT SELECT_AddColumn( MSISELECTVIEW *sv, LPCWSTR name )
return
ERROR_SUCCESS
;
return
ERROR_SUCCESS
;
}
}
int
select_count_columns
(
column_info
*
col
)
{
int
n
;
for
(
n
=
0
;
col
;
col
=
col
->
next
)
n
++
;
return
n
;
}
UINT
SELECT_CreateView
(
MSIDATABASE
*
db
,
MSIVIEW
**
view
,
MSIVIEW
*
table
,
UINT
SELECT_CreateView
(
MSIDATABASE
*
db
,
MSIVIEW
**
view
,
MSIVIEW
*
table
,
column_info
*
columns
)
column_info
*
columns
)
{
{
MSISELECTVIEW
*
sv
=
NULL
;
MSISELECTVIEW
*
sv
=
NULL
;
UINT
count
=
0
,
r
;
UINT
count
=
0
,
r
=
ERROR_SUCCESS
;
TRACE
(
"%p
\n
"
,
sv
);
TRACE
(
"%p
\n
"
,
sv
);
r
=
table
->
ops
->
get_dimensions
(
table
,
NULL
,
&
count
);
count
=
select_count_columns
(
columns
);
if
(
r
!=
ERROR_SUCCESS
)
{
ERR
(
"can't get table dimensions
\n
"
);
return
r
;
}
sv
=
msi_alloc_zero
(
sizeof
*
sv
+
count
*
sizeof
(
UINT
)
);
sv
=
msi_alloc_zero
(
sizeof
*
sv
+
count
*
sizeof
(
UINT
)
);
if
(
!
sv
)
if
(
!
sv
)
...
...
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