Module: wine Branch: master Commit: 08cbe5d26f112c5ebae579d3364a98a3da358b52 URL: http://source.winehq.org/git/wine.git/?a=commit;h=08cbe5d26f112c5ebae579d336...
Author: Hans Leidekker hans@codeweavers.com Date: Mon May 21 11:24:41 2012 +0200
fusion: Use the PEKIND type where appropriate.
---
dlls/fusion/asmcache.c | 13 +++++++++++-- dlls/fusion/assembly.c | 4 ++-- dlls/fusion/fusionpriv.h | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/dlls/fusion/asmcache.c b/dlls/fusion/asmcache.c index c6f7ca9..fdf8ab5 100644 --- a/dlls/fusion/asmcache.c +++ b/dlls/fusion/asmcache.c @@ -94,7 +94,7 @@ static BOOL create_full_path(LPCWSTR path) return ret; }
-static BOOL get_assembly_directory(LPWSTR dir, DWORD size, BYTE architecture) +static BOOL get_assembly_directory(LPWSTR dir, DWORD size, PEKIND architecture) { static const WCHAR gac[] = {'\','a','s','s','e','m','b','l','y','\','G','A','C',0};
@@ -107,6 +107,9 @@ static BOOL get_assembly_directory(LPWSTR dir, DWORD size, BYTE architecture)
switch (architecture) { + case peNone: + break; + case peMSIL: strcatW(dir, msil); break; @@ -118,6 +121,10 @@ static BOOL get_assembly_directory(LPWSTR dir, DWORD size, BYTE architecture) case peAMD64: strcatW(dir, amd64); break; + + default: + WARN("unhandled architecture %u\n", architecture); + return FALSE; }
return TRUE; @@ -372,6 +379,7 @@ static HRESULT WINAPI IAssemblyCacheImpl_InstallAssembly(IAssemblyCache *iface, WCHAR path[MAX_PATH]; WCHAR asmdir[MAX_PATH]; LPWSTR ext; + PEKIND architecture; HRESULT hr;
TRACE("(%p, %d, %s, %p)\n", iface, dwFlags, @@ -410,7 +418,8 @@ static HRESULT WINAPI IAssemblyCacheImpl_InstallAssembly(IAssemblyCache *iface,
cache_lock( cache );
- get_assembly_directory(asmdir, MAX_PATH, assembly_get_architecture(assembly)); + architecture = assembly_get_architecture(assembly); + get_assembly_directory(asmdir, MAX_PATH, architecture);
sprintfW(path, format, asmdir, name, version, token);
diff --git a/dlls/fusion/assembly.c b/dlls/fusion/assembly.c index 418d3b1..46c4db4 100644 --- a/dlls/fusion/assembly.c +++ b/dlls/fusion/assembly.c @@ -811,10 +811,10 @@ HRESULT assembly_get_version(ASSEMBLY *assembly, LPWSTR *version) return S_OK; }
-BYTE assembly_get_architecture(ASSEMBLY *assembly) +PEKIND assembly_get_architecture(ASSEMBLY *assembly) { if ((assembly->corhdr->MajorRuntimeVersion == 2) && (assembly->corhdr->MinorRuntimeVersion == 0)) - return 0; /* .NET 1.x assembly */ + return peNone; /* .NET 1.x assembly */
if (assembly->nthdr->OptionalHeader.Magic == IMAGE_NT_OPTIONAL_HDR64_MAGIC) return peAMD64; /* AMD64/IA64 assembly */ diff --git a/dlls/fusion/fusionpriv.h b/dlls/fusion/fusionpriv.h index a262d72..3d538e3 100644 --- a/dlls/fusion/fusionpriv.h +++ b/dlls/fusion/fusionpriv.h @@ -433,7 +433,7 @@ HRESULT assembly_release(ASSEMBLY *assembly) DECLSPEC_HIDDEN; HRESULT assembly_get_name(ASSEMBLY *assembly, LPWSTR *name) DECLSPEC_HIDDEN; HRESULT assembly_get_path(const ASSEMBLY *assembly, LPWSTR *path) DECLSPEC_HIDDEN; HRESULT assembly_get_version(ASSEMBLY *assembly, LPWSTR *version) DECLSPEC_HIDDEN; -BYTE assembly_get_architecture(ASSEMBLY *assembly) DECLSPEC_HIDDEN; +PEKIND assembly_get_architecture(ASSEMBLY *assembly) DECLSPEC_HIDDEN; HRESULT assembly_get_pubkey_token(ASSEMBLY *assembly, LPWSTR *token) DECLSPEC_HIDDEN; HRESULT assembly_get_runtime_version(ASSEMBLY *assembly, LPSTR *version) DECLSPEC_HIDDEN;