Commit f2bb894e6492f54d52d9c8e3d1d554c05916cf69

Vicent Martí 2011-06-15T12:15:11

Merge pull request #251 from nulltoken/fix/msvc-warnings Fix compilation warnings in MSVC

diff --git a/src/fileops.c b/src/fileops.c
index 2136c91..58bc65c 100644
--- a/src/fileops.c
+++ b/src/fileops.c
@@ -633,7 +633,7 @@ static int do_lstat(const char *file_name, struct stat *buf)
 		buf->st_gid = 0;
 		buf->st_uid = 0;
 		buf->st_nlink = 1;
-		buf->st_mode = fMode;
+		buf->st_mode = (mode_t)fMode;
 		buf->st_size = fdata.nFileSizeLow; /* Can't use nFileSizeHigh, since it's not a stat64 */
 		buf->st_dev = buf->st_rdev = (_getdrive() - 1);
 		buf->st_atime = filetime_to_time_t(&(fdata.ftLastAccessTime));
@@ -686,6 +686,7 @@ int gitfo_lstat__w32(const char *file_name, struct stat *buf)
 	alt_name[namelen] = 0;
 	return do_lstat(alt_name, buf);
 }
+
 int gitfo_readlink__w32(const char *link, char *target, size_t target_len)
 {
 	HANDLE hFile;
@@ -711,7 +712,7 @@ int gitfo_readlink__w32(const char *link, char *target, size_t target_len)
 	if (dwRet > 4) {
 		/* Skip first 4 characters if they are "\\?\" */
 		if (target[0] == '\\' && target[1] == '\\' && target[2] == '?' && target[3] ==  '\\') {
-			char tmp[MAXPATHLEN];
+			char tmp[GIT_PATH_MAX];
 			unsigned int offset = 4;
 			dwRet -= 4;
 
diff --git a/src/msvc-compat.h b/src/msvc-compat.h
index 2343ea8..df3e62d 100644
--- a/src/msvc-compat.h
+++ b/src/msvc-compat.h
@@ -21,7 +21,7 @@
 # define S_ISFIFO(m)  (((m) & _S_IFMT) == _S_IFIFO)
 # define S_ISLNK(m)  (((m) & _S_IFMT) == _S_IFLNK)
 
-# define MAXPATHLEN MAX_PATH
+# define mode_t unsigned short
 
 /* case-insensitive string comparison */
 # define strcasecmp   _stricmp
diff --git a/tests/t00-core.c b/tests/t00-core.c
index 5cd4025..1358cc6 100644
--- a/tests/t00-core.c
+++ b/tests/t00-core.c
@@ -664,9 +664,12 @@ END_TEST
 
 BEGIN_TEST(filebuf0, "make sure git_filebuf_open doesn't delete an existing lock")
 	git_filebuf file;
+	int fd;
 	char test[] = "test", testlock[] = "test.lock";
 
-	must_pass(gitfo_creat(testlock, 0744));
+	fd = gitfo_creat(testlock, 0744);
+	must_pass(fd);
+	must_pass(gitfo_close(fd));
 	must_fail(git_filebuf_open(&file, test, 0));
 	must_pass(gitfo_exists(testlock));
 	must_pass(gitfo_unlink(testlock));
diff --git a/tests/t09-tree.c b/tests/t09-tree.c
index af992fd..8062d53 100644
--- a/tests/t09-tree.c
+++ b/tests/t09-tree.c
@@ -81,7 +81,7 @@ BEGIN_TEST(read0, "acces randomly the entries on a loaded tree")
 	must_be_true(git_tree_entry_byindex(tree, 0) != NULL);
 	must_be_true(git_tree_entry_byindex(tree, 2) != NULL);
 	must_be_true(git_tree_entry_byindex(tree, 3) == NULL);
-	must_be_true(git_tree_entry_byindex(tree, -1) == NULL);
+	must_be_true(git_tree_entry_byindex(tree, (unsigned int)-1) == NULL);
 
 	git_tree_close(tree);
 	git_repository_free(repo);