Browse Source

builtin/apply: read_patch_file() return -1 instead of die()ing

To libify `git apply` functionality we have to signal errors to the
caller instead of die()ing. Let's do that by returning -1 instead of
die()ing in read_patch_file().

Helped-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Christian Couder 9 years ago committed by Junio C Hamano
parent
commit
3bee345d7b
  1. 8
      builtin/apply.c

8
builtin/apply.c

@ -335,10 +335,10 @@ static void say_patch_name(FILE *output, const char *fmt, struct patch *patch)


#define SLOP (16) #define SLOP (16)


static void read_patch_file(struct strbuf *sb, int fd) static int read_patch_file(struct strbuf *sb, int fd)
{ {
if (strbuf_read(sb, fd, 0) < 0) if (strbuf_read(sb, fd, 0) < 0)
die_errno("git apply: failed to read"); return error_errno("git apply: failed to read");


/* /*
* Make sure that we have some slop in the buffer * Make sure that we have some slop in the buffer
@ -347,6 +347,7 @@ static void read_patch_file(struct strbuf *sb, int fd)
*/ */
strbuf_grow(sb, SLOP); strbuf_grow(sb, SLOP);
memset(sb->buf + sb->len, 0, SLOP); memset(sb->buf + sb->len, 0, SLOP);
return 0;
} }


static unsigned long linelen(const char *buffer, unsigned long size) static unsigned long linelen(const char *buffer, unsigned long size)
@ -4425,7 +4426,8 @@ static int apply_patch(struct apply_state *state,
int res = 0; int res = 0;


state->patch_input_file = filename; state->patch_input_file = filename;
read_patch_file(&buf, fd); if (read_patch_file(&buf, fd) < 0)
return -128;
offset = 0; offset = 0;
while (offset < buf.len) { while (offset < buf.len) {
struct patch *patch; struct patch *patch;

Loading…
Cancel
Save