projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Optionally do not list empty directories in git-ls-files --others
[git.git]
/
apply.c
diff --git
a/apply.c
b/apply.c
index
c369966
..
c50b3a6
100644
(file)
--- a/
apply.c
+++ b/
apply.c
@@
-651,7
+651,7
@@
static int parse_git_header(char *line, int len, unsigned int size, struct patch
len = linelen(line, size);
if (!len || line[len-1] != '\n')
break;
len = linelen(line, size);
if (!len || line[len-1] != '\n')
break;
- for (i = 0; i <
sizeof(optable) / sizeof(optable[0]
); i++) {
+ for (i = 0; i <
ARRAY_SIZE(optable
); i++) {
const struct opentry *p = optable + i;
int oplen = strlen(p->str);
if (len < oplen || memcmp(p->str, line, oplen))
const struct opentry *p = optable + i;
int oplen = strlen(p->str);
if (len < oplen || memcmp(p->str, line, oplen))
@@
-693,7
+693,7
@@
static int parse_range(const char *line, int len, int offset, const char *expect
line += digits;
len -= digits;
line += digits;
len -= digits;
- *p2 =
*p
1;
+ *p2 = 1;
if (*line == ',') {
digits = parse_num(line+1, p2);
if (!digits)
if (*line == ',') {
digits = parse_num(line+1, p2);
if (!digits)
@@
-834,7
+834,7
@@
static int parse_fragment(char *line, unsigned long size, struct patch *patch, s
patch->new_name = NULL;
}
patch->new_name = NULL;
}
- if (patch->is_new
!= !
oldlines)
+ if (patch->is_new
&&
oldlines)
return error("new file depends on old contents");
if (patch->is_delete != !newlines) {
if (newlines)
return error("new file depends on old contents");
if (patch->is_delete != !newlines) {
if (newlines)
@@
-901,6
+901,8
@@
static int parse_fragment(char *line, unsigned long size, struct patch *patch, s
break;
}
}
break;
}
}
+ if (oldlines || newlines)
+ return -1;
/* If a fragment ends with an incomplete line, we failed to include
* it in the above loop because we hit oldlines == newlines == 0
* before seeing it.
/* If a fragment ends with an incomplete line, we failed to include
* it in the above loop because we hit oldlines == newlines == 0
* before seeing it.
@@
-1402,7
+1404,8
@@
static int check_patch(struct patch *patch)
costate.not_new = 0;
costate.refresh_cache = 1;
if (checkout_entry(active_cache[pos],
costate.not_new = 0;
costate.refresh_cache = 1;
if (checkout_entry(active_cache[pos],
- &costate) ||
+ &costate,
+ NULL) ||
lstat(old_name, &st))
return -1;
}
lstat(old_name, &st))
return -1;
}