This way people who always want trimed trailers
don't need to specify it on the command line.

Signed-off-by: Christian Couder <chrisc...@tuxfamily.org>
---
 builtin/interpret-trailers.c |  2 +-
 trailer.c                    | 13 ++++++++++---
 trailer.h                    |  2 +-
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/builtin/interpret-trailers.c b/builtin/interpret-trailers.c
index 46838d2..1adf814 100644
--- a/builtin/interpret-trailers.c
+++ b/builtin/interpret-trailers.c
@@ -18,7 +18,7 @@ static const char * const git_interpret_trailers_usage[] = {
 
 int cmd_interpret_trailers(int argc, const char **argv, const char *prefix)
 {
-       int trim_empty = 0;
+       int trim_empty = -1;
        struct string_list trailers = STRING_LIST_INIT_DUP;
 
        struct option options[] = {
diff --git a/trailer.c b/trailer.c
index 623adeb..7614182 100644
--- a/trailer.c
+++ b/trailer.c
@@ -36,6 +36,8 @@ static struct trailer_item *first_conf_item;
 
 static char *separators = ":";
 
+static int trim_empty;
+
 #define TRAILER_ARG_STRING "$ARG"
 
 static int after_or_end(enum action_where where)
@@ -120,7 +122,7 @@ static void print_tok_val(const char *tok, const char *val)
                printf("%s%c %s\n", tok, separators[0], val);
 }
 
-static void print_all(struct trailer_item *first, int trim_empty)
+static void print_all(struct trailer_item *first)
 {
        struct trailer_item *item;
        for (item = first; item; item = item->next) {
@@ -509,6 +511,8 @@ static int git_trailer_default_config(const char *conf_key, 
const char *value, v
                                        value, conf_key);
                } else if (!strcmp(trailer_item, "separators")) {
                        separators = xstrdup(value);
+               } else if (!strcmp(trailer_item, "trimempty")) {
+                       trim_empty = git_config_bool(conf_key, value);
                }
        }
        return 0;
@@ -842,7 +846,7 @@ static void free_all(struct trailer_item **first)
        }
 }
 
-void process_trailers(const char *file, int trim_empty, struct string_list 
*trailers)
+void process_trailers(const char *file, int trim, struct string_list *trailers)
 {
        struct trailer_item *in_tok_first = NULL;
        struct trailer_item *in_tok_last = NULL;
@@ -854,6 +858,9 @@ void process_trailers(const char *file, int trim_empty, 
struct string_list *trai
        git_config(git_trailer_default_config, NULL);
        git_config(git_trailer_config, NULL);
 
+       if (trim > -1)
+               trim_empty = trim;
+
        lines = read_input_file(file);
 
        /* Print the lines before the trailers */
@@ -863,7 +870,7 @@ void process_trailers(const char *file, int trim_empty, 
struct string_list *trai
 
        process_trailers_lists(&in_tok_first, &in_tok_last, &arg_tok_first);
 
-       print_all(in_tok_first, trim_empty);
+       print_all(in_tok_first);
 
        free_all(&in_tok_first);
 
diff --git a/trailer.h b/trailer.h
index 8eb25d5..4f481d0 100644
--- a/trailer.h
+++ b/trailer.h
@@ -1,6 +1,6 @@
 #ifndef TRAILER_H
 #define TRAILER_H
 
-void process_trailers(const char *file, int trim_empty, struct string_list 
*trailers);
+void process_trailers(const char *file, int trim, struct string_list 
*trailers);
 
 #endif /* TRAILER_H */
-- 
2.2.1.313.gcc831f2


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to