ntdll: Added parsing of the language attribute in manifests.

This commit is contained in:
Eric Pouech 2007-07-19 17:59:28 +02:00 committed by Alexandre Julliard
parent 6158257651
commit 699b5e74de
1 changed files with 9 additions and 0 deletions

View File

@ -91,6 +91,7 @@ struct assembly_identity
WCHAR *name;
WCHAR *arch;
WCHAR *public_key;
WCHAR *language;
struct version version;
enum assembly_id_type type;
};
@ -185,6 +186,7 @@ struct actctx_loader
#define HASHALG_ATTR "hashalg"
#define HELPDIR_ATTR "helpdir"
#define IID_ATTR "iid"
#define LANGUAGE_ATTR "language"
#define MANIFESTVERSION_ATTR "manifestVersion"
#define NAME_ATTR "name"
#define PROCESSORARCHITECTURE_ATTR "processorArchitecture"
@ -296,6 +298,7 @@ static void free_assembly_identity(struct assembly_identity *ai)
RtlFreeHeap( GetProcessHeap(), 0, ai->name );
RtlFreeHeap( GetProcessHeap(), 0, ai->arch );
RtlFreeHeap( GetProcessHeap(), 0, ai->public_key );
RtlFreeHeap( GetProcessHeap(), 0, ai->language );
}
static struct entity* add_entity(struct dll_redirect* dll, DWORD kind)
@ -641,6 +644,12 @@ static BOOL parse_assembly_identity_elem(xmlbuf_t* xmlbuf, ACTIVATION_CONTEXT* a
{
if (!(ai->public_key = xmlstrdupW(&attr_value))) return FALSE;
}
else if (xmlstr_cmp(&attr_name, LANGUAGE_ATTR))
{
WARN("Unsupported yet language attribute (%s)\n",
debugstr_xmlstr(&attr_value));
if (!(ai->language = xmlstrdupW(&attr_value))) return FALSE;
}
else
{
WARN("unknown attr %s=%s\n", debugstr_xmlstr(&attr_name),