Module: wine Branch: master Commit: 3b5963c98de2fa36e72df5f2d695f32c8f063ecf URL: http://source.winehq.org/git/wine.git/?a=commit;h=3b5963c98de2fa36e72df5f2d6...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Jul 26 11:05:09 2007 +0200
ntdll: Improve some activation context traces.
---
dlls/ntdll/actctx.c | 30 ++++++++++++++++++++++++------ 1 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c index 1ab49ed..e712911 100644 --- a/dlls/ntdll/actctx.c +++ b/dlls/ntdll/actctx.c @@ -269,6 +269,11 @@ static inline const char* debugstr_xmlstr(const xmlstr_t* str) return debugstr_an(str->ptr, str->len); }
+static inline const char* debugstr_version(const struct version *ver) +{ + return wine_dbg_sprintf("%u.%u.%u.%u", ver->major, ver->minor, ver->build, ver->revision); +} + static struct assembly *add_assembly(ACTIVATION_CONTEXT *actctx, enum assembly_type at) { struct assembly *assembly; @@ -774,8 +779,6 @@ static BOOL parse_assembly_identity_elem(xmlbuf_t* xmlbuf, ACTIVATION_CONTEXT* a xmlstr_t attr_name, attr_value; BOOL end = FALSE, error;
- TRACE("\n"); - while (next_xml_attr(xmlbuf, &attr_name, &attr_value, &error, &end)) { if (xmlstr_cmp(&attr_name, NAME_ATTR)) @@ -816,6 +819,9 @@ static BOOL parse_assembly_identity_elem(xmlbuf_t* xmlbuf, ACTIVATION_CONTEXT* a } }
+ TRACE( "name=%s version=%s arch=%s\n", + debugstr_w(ai->name), debugstr_version(&ai->version), debugstr_w(ai->arch) ); + if (error || end) return end; return parse_expect_elem(xmlbuf, ELEM_END(ASSEMBLYIDENTITY_ELEM)) && parse_end_element(xmlbuf); } @@ -1097,7 +1103,8 @@ static BOOL parse_dependent_assembly_elem(xmlbuf_t* xmlbuf, struct actctx_loader !parse_assembly_identity_elem(xmlbuf, acl->actctx, &ai)) return FALSE;
- TRACE( "adding %s\n", debugstr_w(ai.name) ); + TRACE( "adding name=%s version=%s arch=%s\n", + debugstr_w(ai.name), debugstr_version(&ai.version), debugstr_w(ai.arch) );
/* store the newly found identity for later loading */ if (!add_dependent_assembly_id(acl, &ai)) return FALSE; @@ -1128,8 +1135,6 @@ static BOOL parse_dependency_elem(xmlbuf_t* xmlbuf, struct actctx_loader* acl) xmlstr_t attr_name, attr_value, elem; BOOL end = FALSE, ret = TRUE, error, optional = FALSE;
- TRACE("\n"); - while (next_xml_attr(xmlbuf, &attr_name, &attr_value, &error, &end)) { if (xmlstr_cmp(&attr_name, OPTIONAL_ATTR)) @@ -1463,7 +1468,17 @@ static NTSTATUS get_manifest_in_module( struct actctx_loader* acl, struct assemb const IMAGE_RESOURCE_DATA_ENTRY* entry = NULL; void *ptr;
- TRACE( "looking for res %s in module %p %s\n", debugstr_w(resname), hModule, debugstr_w(filename) ); + if (TRACE_ON(actctx)) + { + if (!filename && !get_module_filename( hModule, &nameW, 0 )) + { + TRACE( "looking for res %s in module %p %s\n", debugstr_w(resname), + hModule, debugstr_w(nameW.Buffer) ); + RtlFreeUnicodeString( &nameW ); + } + else TRACE( "looking for res %s in module %p %s\n", debugstr_w(resname), + hModule, debugstr_w(filename) ); + }
if (!resname) return STATUS_INVALID_PARAMETER;
@@ -1792,6 +1807,9 @@ static NTSTATUS lookup_assembly(struct actctx_loader* acl, UNICODE_STRING nameW; HANDLE file;
+ TRACE( "looking for name=%s version=%s arch=%s\n", + debugstr_w(ai->name), debugstr_version(&ai->version), debugstr_w(ai->arch) ); + if ((status = lookup_winsxs(acl, ai)) != STATUS_NO_SUCH_FILE) return status;
/* FIXME: add support for language specific lookup */