On Mon, Aug 8, 2016 at 11:02 PM, Christian Couder
wrote:
>
> I will send a diff between this version and the previous one, as a
> reply to this email.
Here is the diff:
diff --git a/apply.c b/apply.c
index a73889e..2ec2a8a 100644
--- a/apply.c
+++ b/apply.c
@@ -4324,7 +4324,10 @@ static int try_create_file(const char *path,
unsigned int mode, const char *buf,
size = nbuf.len;
buf = nbuf.buf;
}
-res = !write_or_whine_pipe(fd, buf, size, path);
+
+res = write_in_full(fd, buf, size) < 0;
+if (res)
+error_errno(_("failed to write to '%s'"), path);
strbuf_release();
if (close(fd) < 0 && !res)
@@ -4626,7 +4629,7 @@ static int apply_patch(struct apply_state *state,
int res = 0;
state->patch_input_file = filename;
-if (read_patch_file(, fd))
+if (read_patch_file(, fd) < 0)
return -128;
offset = 0;
while (offset < buf.len) {
@@ -4727,16 +4730,16 @@ static int apply_patch(struct apply_state *state,
return res;
}
-int apply_option_parse_exclude(const struct option *opt,
- const char *arg, int unset)
+static int apply_option_parse_exclude(const struct option *opt,
+ const char *arg, int unset)
{
struct apply_state *state = opt->value;
add_name_limit(state, arg, 1);
return 0;
}
-int apply_option_parse_include(const struct option *opt,
- const char *arg, int unset)
+static int apply_option_parse_include(const struct option *opt,
+ const char *arg, int unset)
{
struct apply_state *state = opt->value;
add_name_limit(state, arg, 0);
@@ -4744,9 +4747,9 @@ int apply_option_parse_include(const struct option *opt,
return 0;
}
-int apply_option_parse_p(const struct option *opt,
- const char *arg,
- int unset)
+static int apply_option_parse_p(const struct option *opt,
+const char *arg,
+int unset)
{
struct apply_state *state = opt->value;
state->p_value = atoi(arg);
@@ -4754,8 +4757,8 @@ int apply_option_parse_p(const struct option *opt,
return 0;
}
-int apply_option_parse_space_change(const struct option *opt,
-const char *arg, int unset)
+static int apply_option_parse_space_change(const struct option *opt,
+ const char *arg, int unset)
{
struct apply_state *state = opt->value;
if (unset)
@@ -4765,8 +4768,8 @@ int apply_option_parse_space_change(const struct
option *opt,
return 0;
}
-int apply_option_parse_whitespace(const struct option *opt,
- const char *arg, int unset)
+static int apply_option_parse_whitespace(const struct option *opt,
+ const char *arg, int unset)
{
struct apply_state *state = opt->value;
state->whitespace_option = arg;
@@ -4775,8 +4778,8 @@ int apply_option_parse_whitespace(const struct
option *opt,
return 0;
}
-int apply_option_parse_directory(const struct option *opt,
- const char *arg, int unset)
+static int apply_option_parse_directory(const struct option *opt,
+const char *arg, int unset)
{
struct apply_state *state = opt->value;
strbuf_reset(>root);
diff --git a/apply.h b/apply.h
index 27a3a7a..e2b89e8 100644
--- a/apply.h
+++ b/apply.h
@@ -16,7 +16,7 @@ enum apply_ws_ignore {
enum apply_verbosity {
verbosity_silent = -1,
verbosity_normal = 0,
-verbosity_verbose = 1,
+verbosity_verbose = 1
};
/*
@@ -94,7 +94,11 @@ struct apply_state {
*/
struct string_list fn_table;
-/* This is to save some reporting routines */
+/*
+ * This is to save reporting routines before using
+ * set_error_routine() or set_warn_routine() to install muting
+ * routines when in verbosity_silent mode.
+ */
void (*saved_error_routine)(const char *err, va_list params);
void (*saved_warn_routine)(const char *warn, va_list params);
@@ -107,20 +111,6 @@ struct apply_state {
int applied_after_fixing_ws;
};
-extern int apply_option_parse_exclude(const struct option *opt,
- const char *arg, int unset);
-extern int apply_option_parse_include(const struct option *opt,
- const char *arg, int unset);
-extern int apply_option_parse_p(const struct option *opt,
-const char *arg,
-int unset);
-extern int apply_option_parse_whitespace(const struct option *opt,
- const char *arg, int unset);
-extern int apply_option_parse_directory(const struct option *opt,
-const char *arg, int unset);
-extern int apply_option_parse_space_change(const struct option *opt,
- const char *arg, int unset);
-
extern int apply_parse_options(int argc, const char **argv,
struct apply_state *state,
int *force_apply, int *options,
diff --git a/cache.h