mirror of
https://github.com/git/git.git
synced 2024-11-18 02:04:08 +01:00
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>
This commit is contained in:
parent
f07a9f7643
commit
3bee345d7b
@ -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…
Reference in New Issue
Block a user