Commit aab8f5af4b594398356b47c0c2a2ce6f5a4ca080

Edward Thomson 2012-12-04T16:40:09

hey don't stomp on my memory!

diff --git a/src/checkout.c b/src/checkout.c
index a3166bf..cec52c5 100644
--- a/src/checkout.c
+++ b/src/checkout.c
@@ -203,21 +203,25 @@ static int checkout_blob(
 	return error;
 }
 
-static int retrieve_symlink_caps(git_repository *repo, bool *can_symlink)
+static int retrieve_symlink_caps(git_repository *repo, bool *out)
 {
 	git_config *cfg;
+    int can_symlink = 0;
 	int error;
 
 	if (git_repository_config__weakptr(&cfg, repo) < 0)
 		return -1;
 
-	error = git_config_get_bool((int *)can_symlink, cfg, "core.symlinks");
+	error = git_config_get_bool(&can_symlink, cfg, "core.symlinks");
 
 	/* If "core.symlinks" is not found anywhere, default to true. */
 	if (error == GIT_ENOTFOUND) {
-		*can_symlink = true;
+		can_symlink = true;
 		error = 0;
 	}
+        
+    if (error >= 0)
+        *out = can_symlink;
 
 	return error;
 }