Hans Leidekker : fusion: Use the PEKIND type where appropriate.

Alexandre Julliard julliard at winehq.org
Mon May 21 15:31:08 CDT 2012


Module: wine
Branch: master
Commit: 08cbe5d26f112c5ebae579d3364a98a3da358b52
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=08cbe5d26f112c5ebae579d3364a98a3da358b52

Author: Hans Leidekker <hans at 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;
 




More information about the wine-cvs mailing list