Alexandre Julliard : ntdll: Allow optional elements in the comClass
element .
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jul 30 16:52:28 CDT 2007
Module: wine
Branch: master
Commit: f9c9f237635c229750bae29caf0af2eb19308c77
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f9c9f237635c229750bae29caf0af2eb19308c77
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Jul 30 20:25:33 2007 +0200
ntdll: Allow optional elements in the comClass element.
---
dlls/ntdll/actctx.c | 20 +++++++++++++++++---
1 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c
index e0ebd15..eb4cb71 100644
--- a/dlls/ntdll/actctx.c
+++ b/dlls/ntdll/actctx.c
@@ -885,8 +885,8 @@ static BOOL parse_assembly_identity_elem(xmlbuf_t* xmlbuf, ACTIVATION_CONTEXT* a
static BOOL parse_com_class_elem(xmlbuf_t* xmlbuf, struct dll_redirect* dll)
{
- xmlstr_t attr_name, attr_value;
- BOOL end = FALSE, error;
+ xmlstr_t elem, attr_name, attr_value;
+ BOOL ret, end = FALSE, error;
struct entity* entity;
if (!(entity = add_entity(&dll->entities, ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION)))
@@ -905,7 +905,21 @@ static BOOL parse_com_class_elem(xmlbuf_t* xmlbuf, struct dll_redirect* dll)
}
if (error || end) return end;
- return parse_expect_end_elem(xmlbuf, comClassW);
+
+ while ((ret = next_xml_elem(xmlbuf, &elem)))
+ {
+ if (xmlstr_cmp_end(&elem, comClassW))
+ {
+ ret = parse_end_element(xmlbuf);
+ break;
+ }
+ else
+ {
+ WARN("unknown elem %s\n", debugstr_xmlstr(&elem));
+ ret = parse_unknown_elem(xmlbuf, &elem);
+ }
+ }
+ return ret;
}
static BOOL parse_cominterface_proxy_stub_elem(xmlbuf_t* xmlbuf, struct dll_redirect* dll)
More information about the wine-cvs
mailing list