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
28dd2e11
Commit
28dd2e11
authored
Jun 29, 2017
by
Hans Leidekker
Committed by
Alexandre Julliard
Jun 29, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
webservices: Handle text records with implicit end element.
Signed-off-by:
Hans Leidekker
<
hans@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
d29c0e2b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
8 additions
and
4 deletions
+8
-4
reader.c
dlls/webservices/reader.c
+7
-4
webservices_private.h
dlls/webservices/webservices_private.h
+1
-0
No files found.
dlls/webservices/reader.c
View file @
28dd2e11
...
...
@@ -2171,6 +2171,7 @@ static HRESULT read_text_bin( struct reader *reader )
}
}
if
(
type
&
1
)
node
->
flags
|=
NODE_FLAG_TEXT_WITH_IMPLICIT_END_ELEMENT
;
read_insert_node
(
reader
,
parent
,
node
);
reader
->
state
=
READER_STATE_TEXT
;
reader
->
text_conv_offset
=
0
;
...
...
@@ -2349,9 +2350,11 @@ static HRESULT read_endelement_bin( struct reader *reader )
unsigned
char
type
;
HRESULT
hr
;
if
((
hr
=
read_byte
(
reader
,
&
type
))
!=
S_OK
)
return
hr
;
if
(
type
!=
RECORD_ENDELEMENT
)
return
WS_E_INVALID_FORMAT
;
if
(
!
(
reader
->
current
->
flags
&
NODE_FLAG_TEXT_WITH_IMPLICIT_END_ELEMENT
))
{
if
((
hr
=
read_byte
(
reader
,
&
type
))
!=
S_OK
)
return
hr
;
if
(
type
!=
RECORD_ENDELEMENT
)
return
WS_E_INVALID_FORMAT
;
}
if
(
!
(
parent
=
find_parent
(
reader
)))
return
WS_E_INVALID_FORMAT
;
reader
->
current
=
LIST_ENTRY
(
list_tail
(
&
parent
->
children
),
struct
node
,
entry
);
...
...
@@ -2559,7 +2562,7 @@ static HRESULT read_node_bin( struct reader *reader )
unsigned
char
type
;
HRESULT
hr
;
if
(
node_type
(
reader
->
current
)
==
WS_XML_NODE_TYPE_TEX
T
)
if
(
reader
->
current
->
flags
&
NODE_FLAG_TEXT_WITH_IMPLICIT_END_ELEMEN
T
)
{
reader
->
current
=
LIST_ENTRY
(
list_tail
(
&
reader
->
current
->
parent
->
children
),
struct
node
,
entry
);
reader
->
last
=
reader
->
current
;
...
...
dlls/webservices/webservices_private.h
View file @
28dd2e11
...
...
@@ -81,6 +81,7 @@ HRESULT read_output_params( WS_XML_READER *, WS_HEAP *, const WS_ELEMENT_DESCRIP
enum
node_flag
{
NODE_FLAG_IGNORE_TRAILING_ELEMENT_CONTENT
=
0x1
,
NODE_FLAG_TEXT_WITH_IMPLICIT_END_ELEMENT
=
0x2
,
};
struct
node
...
...
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