Commit 02285482f18250c33e3d0780cafc6d48346935f3

Vicent Marti 2011-06-17T19:19:30

fileops: Cast the GetProcAddress value

diff --git a/src/fileops.c b/src/fileops.c
index 12b28bf..d9c0aa0 100644
--- a/src/fileops.c
+++ b/src/fileops.c
@@ -689,7 +689,8 @@ int gitfo_lstat__w32(const char *file_name, struct stat *buf)
 
 int gitfo_readlink__w32(const char *link, char *target, size_t target_len)
 {
-	static DWORD (*pGetFinalPath)(HANDLE, LPTSTR, DWORD, DWORD) = NULL;
+	typedef DWORD (WINAPI *fpath_func)(HANDLE, LPTSTR, DWORD, DWORD);
+	static fpath_func pGetFinalPath = NULL;
 	HANDLE hFile;
 	DWORD dwRet;
 
@@ -698,10 +699,10 @@ int gitfo_readlink__w32(const char *link, char *target, size_t target_len)
 	 * it is not available in platforms older than Vista
 	 */
 	if (pGetFinalPath == NULL) {
-		HANDLE library = LoadLibrary("kernel32");
+		HINSTANCE library = LoadLibrary("kernel32");
 
 		if (library != NULL)
-			pGetFinalPath = GetProcAddress(library, "GetFinalPathNameByHandleA");
+			pGetFinalPath = (fpath_func)GetProcAddress(library, "GetFinalPathNameByHandleA");
 
 		if (pGetFinalPath == NULL)
 			return git__throw(GIT_EOSERR,