Commit 3b5e44aeba0fbbbc324939a71727757d97a8ee7b

Patrick Pokatilo 2013-02-08T00:50:20

Fix call to readlink

diff --git a/src/win32/posix_w32.c b/src/win32/posix_w32.c
index b561e32..ece7223 100644
--- a/src/win32/posix_w32.c
+++ b/src/win32/posix_w32.c
@@ -100,6 +100,9 @@ static int do_lstat(
 		buf->st_mtime = filetime_to_time_t(&(fdata.ftLastWriteTime));
 		buf->st_ctime = filetime_to_time_t(&(fdata.ftCreationTime));
 		
+		/* Windows symlinks have zero file size, call readlink to determine
+		 * the length of the path pointed to, which we expect everywhere else
+		 */
 		if (fMode & S_IFLNK)
 		{
 			char target[GIT_WIN_PATH];
@@ -107,7 +110,7 @@ static int do_lstat(
 			
 			readlink_result = p_readlink(file_name, target, GIT_WIN_PATH);
 			
-			if (readlink_result)
+			if (readlink_result == -1)
 				return -1;
 				
 			buf->st_size = strnlen(target, GIT_WIN_PATH);