X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin-mailinfo.c;h=c90cd312ac99fe9a2169664e86a089b5378cacbe;hb=752c0c24926aacbceca0d27de6ad22cbb7dd0709;hp=1c14d381d23074d1c6b2a2180c25629974e3b5c4;hpb=017678b4f47dc1b2a6691631373c46daf8f63206;p=git.git diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c index 1c14d381d..c90cd312a 100644 --- a/builtin-mailinfo.c +++ b/builtin-mailinfo.c @@ -785,8 +785,10 @@ static int handle_commit_msg(struct strbuf *line) if (use_scissors && is_scissors_line(line)) { int i; - rewind(cmitmsg); - ftruncate(fileno(cmitmsg), 0); + if (fseek(cmitmsg, 0L, SEEK_SET)) + die_errno("Could not rewind output message file"); + if (ftruncate(fileno(cmitmsg), 0)) + die_errno("Could not truncate output message file at scissors"); still_looking = 1; /* @@ -991,8 +993,20 @@ static int mailinfo(FILE *in, FILE *out, const char *msg, const char *patch) return 0; } +static int git_mailinfo_config(const char *var, const char *value, void *unused) +{ + if (prefixcmp(var, "mailinfo.")) + return git_default_config(var, value, unused); + if (!strcmp(var, "mailinfo.scissors")) { + use_scissors = git_config_bool(var, value); + return 0; + } + /* perhaps others here */ + return 0; +} + static const char mailinfo_usage[] = - "git mailinfo [-k] [-u | --encoding= | -n] msg patch info"; + "git mailinfo [-k] [-u | --encoding= | -n] [--scissors | --no-scissors] msg patch < mail >info"; int cmd_mailinfo(int argc, const char **argv, const char *prefix) { @@ -1001,7 +1015,7 @@ int cmd_mailinfo(int argc, const char **argv, const char *prefix) /* NEEDSWORK: might want to do the optional .git/ directory * discovery */ - git_config(git_default_config, NULL); + git_config(git_mailinfo_config, NULL); def_charset = (git_commit_encoding ? git_commit_encoding : "UTF-8"); metainfo_charset = def_charset;