[PATCH 18/27] [Kernel32]: ActCtx: added support for the description
element in assembly
Eric Pouech
eric.pouech at wanadoo.fr
Mon May 7 14:51:38 CDT 2007
---
dlls/kernel32/actctx.c | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/dlls/kernel32/actctx.c b/dlls/kernel32/actctx.c
index 333b791..a7da6e4 100644
--- a/dlls/kernel32/actctx.c
+++ b/dlls/kernel32/actctx.c
@@ -397,6 +397,7 @@ done:
#define COMINTERFACEPROXYSTUB_ELEM "comInterfaceProxyStub"
#define DEPENDENCY_ELEM "dependency"
#define DEPENDENTASSEMBLY_ELEM "dependentAssembly"
+#define DESCRIPTION_ELEM "description"
#define FILE_ELEM "file"
#define NOINHERIT_ELEM "noInherit"
#define NOINHERITABLE_ELEM "noInheritable"
@@ -773,6 +774,34 @@ static BOOL parse_window_class_elem(xmlbuf_t* xmlbuf, struct dll_redirect* dll)
return ret;
}
+static BOOL parse_description_elem(xmlbuf_t* xmlbuf)
+{
+ xmlstr_t elem, content;
+ BOOL end = FALSE, ret = TRUE;
+
+ if (!parse_expect_no_attr(xmlbuf, &end) || end ||
+ !parse_text_content(xmlbuf, &content))
+ return FALSE;
+
+ TRACE("Got description %s\n", debugstr_xmlstr(&content));
+
+ while (ret && (ret = next_xml_elem(xmlbuf, &elem)))
+ {
+ if (xmlstr_cmp(&elem, ELEM_END(DESCRIPTION_ELEM)))
+ {
+ ret = parse_end_element(xmlbuf);
+ break;
+ }
+ else
+ {
+ WARN("wrong elem %s\n", debugstr_xmlstr(&elem));
+ ret = FALSE;
+ }
+ }
+
+ return ret;
+}
+
static BOOL parse_com_interface_external_proxy_stub_elem(xmlbuf_t* xmlbuf,
struct assembly* assembly)
{
@@ -1054,6 +1083,10 @@ static BOOL parse_assembly_elem(xmlbuf_t* xmlbuf, struct actctx_loader* acl,
ret = parse_end_element(xmlbuf);
break;
}
+ else if (xmlstr_cmp(&elem, DESCRIPTION_ELEM))
+ {
+ ret = parse_description_elem(xmlbuf);
+ }
else if (xmlstr_cmp(&elem, COMINTERFACEEXTERNALPROXYSTUB_ELEM))
{
ret = parse_com_interface_external_proxy_stub_elem(xmlbuf, assembly);
More information about the wine-patches
mailing list