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
eaf2cd11
Commit
eaf2cd11
authored
May 15, 2017
by
Hans Leidekker
Committed by
Alexandre Julliard
May 15, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
webservices: Fix duplicating attributes.
Signed-off-by:
Hans Leidekker
<
hans@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
a1c9801d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
5 deletions
+17
-5
reader.c
dlls/webservices/reader.c
+17
-5
No files found.
dlls/webservices/reader.c
View file @
eaf2cd11
...
...
@@ -151,16 +151,28 @@ void destroy_nodes( struct node *node )
static
WS_XML_ATTRIBUTE
*
dup_attribute
(
const
WS_XML_ATTRIBUTE
*
src
)
{
WS_XML_ATTRIBUTE
*
dst
;
const
WS_XML_STRING
*
prefix
=
(
src
->
prefix
&&
src
->
prefix
->
length
)
?
src
->
prefix
:
NULL
;
const
WS_XML_STRING
*
prefix
=
src
->
prefix
;
const
WS_XML_STRING
*
localname
=
src
->
localName
;
const
WS_XML_STRING
*
ns
=
src
->
localName
;
const
WS_XML_TEXT
*
text
=
src
->
value
;
if
(
!
(
dst
=
heap_alloc
(
sizeof
(
*
dst
)
)))
return
NULL
;
dst
->
singleQuote
=
src
->
singleQuote
;
dst
->
isXmlNs
=
src
->
isXmlNs
;
if
(
prefix
&&
!
(
dst
->
prefix
=
alloc_xml_string
(
prefix
->
bytes
,
prefix
->
length
)))
goto
error
;
if
(
localname
&&
!
(
dst
->
localName
=
alloc_xml_string
(
localname
->
bytes
,
localname
->
length
)))
goto
error
;
if
(
ns
&&
!
(
dst
->
ns
=
alloc_xml_string
(
ns
->
bytes
,
ns
->
length
)))
goto
error
;
if
(
!
prefix
)
dst
->
prefix
=
NULL
;
else
if
(
!
(
dst
->
prefix
=
alloc_xml_string
(
prefix
->
bytes
,
prefix
->
length
)))
goto
error
;
if
(
!
(
dst
->
localName
=
alloc_xml_string
(
localname
->
bytes
,
localname
->
length
)))
goto
error
;
if
(
!
(
dst
->
ns
=
alloc_xml_string
(
ns
->
bytes
,
ns
->
length
)))
goto
error
;
if
(
text
)
{
WS_XML_UTF8_TEXT
*
utf8
;
const
WS_XML_UTF8_TEXT
*
utf8_src
=
(
const
WS_XML_UTF8_TEXT
*
)
text
;
if
(
!
(
utf8
=
alloc_utf8_text
(
utf8_src
->
value
.
bytes
,
utf8_src
->
value
.
length
)))
goto
error
;
dst
->
value
=
&
utf8
->
text
;
}
return
dst
;
error:
...
...
@@ -223,7 +235,7 @@ static struct node *dup_text_node( const WS_XML_TEXT_NODE *src )
if
(
src
->
text
)
{
WS_XML_UTF8_TEXT
*
utf8
;
const
WS_XML_UTF8_TEXT
*
utf8_src
=
(
WS_XML_UTF8_TEXT
*
)
src
->
text
;
const
WS_XML_UTF8_TEXT
*
utf8_src
=
(
const
WS_XML_UTF8_TEXT
*
)
src
->
text
;
if
(
!
(
utf8
=
alloc_utf8_text
(
utf8_src
->
value
.
bytes
,
utf8_src
->
value
.
length
)))
{
free_node
(
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