Commit cf1013a888b16c22e8877fa0c8c9532972cb1b67

Sven Strickroth 2014-10-12T17:21:17

There is no "z" size specifier on MSVC See http://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx and https://stackoverflow.com/questions/6655410/why-doesnt-zd-printf-format-work-in-vs2010 Signed-off-by: Sven Strickroth <email@cs-ware.de>

diff --git a/src/cc-compat.h b/src/cc-compat.h
index 0b66d8b..cefdc92 100644
--- a/src/cc-compat.h
+++ b/src/cc-compat.h
@@ -49,9 +49,11 @@
 #if defined(_MSC_VER) || defined(__MINGW32__)
 #	define PRIuZ "Iu"
 #	define PRIxZ "Ix"
+#	define PRIdZ "Id"
 #else
 #	define PRIuZ "zu"
 #	define PRIxZ "zx"
+#	define PRIdZ "zd"
 #endif
 
 /* Micosoft Visual C/C++ */
diff --git a/src/tree-cache.c b/src/tree-cache.c
index bf52b55..aaf8a13 100644
--- a/src/tree-cache.c
+++ b/src/tree-cache.c
@@ -278,7 +278,7 @@ static void write_tree(git_buf *out, git_tree_cache *tree)
 {
 	size_t i;
 
-	git_buf_printf(out, "%s%c%zd %"PRIuZ"\n", tree->name, 0, tree->entry_count, tree->children_count);
+	git_buf_printf(out, "%s%c%"PRIdZ" %"PRIuZ"\n", tree->name, 0, tree->entry_count, tree->children_count);
 
 	if (tree->entry_count != -1)
 		git_buf_put(out, (const char *) &tree->oid, GIT_OID_RAWSZ);