projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] Add the merge test Linus called "test script from hell".
[git.git]
/
update-cache.c
diff --git
a/update-cache.c
b/update-cache.c
index
69b1afe
..
19d8f82
100644
(file)
--- a/
update-cache.c
+++ b/
update-cache.c
@@
-73,7
+73,7
@@
static int add_file_to_cache(char *path)
if (allow_remove)
return remove_file_from_cache(path);
}
if (allow_remove)
return remove_file_from_cache(path);
}
- return
-1
;
+ return
error("open(\"%s\"): %s", path, strerror(errno))
;
}
namelen = strlen(path);
size = cache_entry_size(namelen);
}
namelen = strlen(path);
size = cache_entry_size(namelen);
@@
-131,7
+131,7
@@
static int compare_data(struct cache_entry *ce, unsigned long expected_size)
if (fd >= 0) {
void *buffer;
unsigned long size;
if (fd >= 0) {
void *buffer;
unsigned long size;
- char type[
1
0];
+ char type[
2
0];
buffer = read_sha1_file(ce->sha1, type, &size);
if (buffer) {
buffer = read_sha1_file(ce->sha1, type, &size);
if (buffer) {
@@
-249,6
+249,9
@@
static int refresh_cache(void)
continue;
}
active_cache_changed = 1;
continue;
}
active_cache_changed = 1;
+ /* You can NOT just free active_cache[i] here, since it
+ * might not be necessarily malloc()ed but can also come
+ * from mmap(). */
active_cache[i] = new;
}
return has_errors;
active_cache[i] = new;
}
return has_errors;
@@
-369,8
+372,10
@@
int main(int argc, char **argv)
continue;
}
if (!strcmp(path, "--cacheinfo")) {
continue;
}
if (!strcmp(path, "--cacheinfo")) {
- if (i+3 >= argc
|| add_cacheinfo(argv[i+1], argv[i+2], argv[i+3])
)
+ if (i+3 >= argc)
die("update-cache: --cacheinfo <mode> <sha1> <path>");
die("update-cache: --cacheinfo <mode> <sha1> <path>");
+ if (add_cacheinfo(argv[i+1], argv[i+2], argv[i+3]))
+ die("update-cache: --cacheinfo cannot add %s", argv[i+3]);
i += 3;
continue;
}
i += 3;
continue;
}