summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--entry.c9
2 files changed, 4 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 538d21d..59042d1 100644
--- a/Makefile
+++ b/Makefile
@@ -55,7 +55,7 @@ all:
# Define USE_STDEV below if you want git to care about the underlying device
# change being considered an inode change from the update-cache perspective.
-GIT_VERSION = 1.0.12
+GIT_VERSION = 1.0.13
# CFLAGS and LDFLAGS are for the users to override from the command line.
diff --git a/entry.c b/entry.c
index 410b758..6c47c3a 100644
--- a/entry.c
+++ b/entry.c
@@ -70,7 +70,6 @@ static int write_entry(struct cache_entry *ce, const char *path, struct checkout
unsigned long size;
long wrote;
char type[20];
- char target[1024];
new = read_sha1_file(ce->sha1, type, &size);
if (!new || strcmp(type, "blob")) {
@@ -94,12 +93,10 @@ static int write_entry(struct cache_entry *ce, const char *path, struct checkout
return error("git-checkout-index: unable to write file %s", path);
break;
case S_IFLNK:
- memcpy(target, new, size);
- target[size] = '\0';
- if (symlink(target, path)) {
+ if (symlink(new, path)) {
free(new);
- return error("git-checkout-index: unable to create symlink %s (%s)",
- path, strerror(errno));
+ return error("git-checkout-index: unable to create "
+ "symlink %s (%s)", path, strerror(errno));
}
free(new);
break;