patch: make it able to create files (again)
I broke patch's ability to create files in November, and nobody noticed in the ensuing 11 months. Sigh. Signed-off-by: Rob Landley <rob@landley.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
251fc70e97
commit
c5f7847659
@ -70,8 +70,7 @@ struct double_list {
|
|||||||
|
|
||||||
// Free all the elements of a linked list
|
// Free all the elements of a linked list
|
||||||
// Call freeit() on each element before freeing it.
|
// Call freeit() on each element before freeing it.
|
||||||
static
|
static void dlist_free(struct double_list *list, void (*freeit)(void *data))
|
||||||
void dlist_free(struct double_list *list, void (*freeit)(void *data))
|
|
||||||
{
|
{
|
||||||
while (list) {
|
while (list) {
|
||||||
void *pop = list;
|
void *pop = list;
|
||||||
@ -83,8 +82,7 @@ void dlist_free(struct double_list *list, void (*freeit)(void *data))
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add an entry before "list" element in (circular) doubly linked list
|
// Add an entry before "list" element in (circular) doubly linked list
|
||||||
static
|
static struct double_list *dlist_add(struct double_list **list, char *data)
|
||||||
struct double_list *dlist_add(struct double_list **list, char *data)
|
|
||||||
{
|
{
|
||||||
struct double_list *llist;
|
struct double_list *llist;
|
||||||
struct double_list *line = xmalloc(sizeof(*line));
|
struct double_list *line = xmalloc(sizeof(*line));
|
||||||
@ -232,7 +230,7 @@ static int apply_one_hunk(void)
|
|||||||
else matcheof = 0;
|
else matcheof = 0;
|
||||||
if (PATCH_DEBUG) fdprintf(2, "HUNK:%s\n", plist->data);
|
if (PATCH_DEBUG) fdprintf(2, "HUNK:%s\n", plist->data);
|
||||||
}
|
}
|
||||||
matcheof = matcheof < TT.context;
|
matcheof = !matcheof || matcheof < TT.context;
|
||||||
|
|
||||||
if (PATCH_DEBUG) fdprintf(2,"MATCHEOF=%c\n", matcheof ? 'Y' : 'N');
|
if (PATCH_DEBUG) fdprintf(2,"MATCHEOF=%c\n", matcheof ? 'Y' : 'N');
|
||||||
|
|
||||||
|
@ -212,7 +212,6 @@ patching file input
|
|||||||
666
|
666
|
||||||
" \
|
" \
|
||||||
|
|
||||||
# Currently fails
|
|
||||||
# testing "test name" "command(s)" "expected result" "file input" "stdin"
|
# testing "test name" "command(s)" "expected result" "file input" "stdin"
|
||||||
testing "patch creates new file" \
|
testing "patch creates new file" \
|
||||||
'patch 2>&1; echo $?; cat testfile; rm testfile' \
|
'patch 2>&1; echo $?; cat testfile; rm testfile' \
|
||||||
|
Loading…
Reference in New Issue
Block a user