From: Don Zickus Date: Wed, 14 Mar 2007 20:12:23 GMT Subject: [PATCH 2/5] add the ability to select more email header fields to output Message-ID: <11739031471426-git-send-email-dzickus@redhat.com> In-Reply-To: <11739031463211-git-send-email-dzickus@redhat.com> This is useful when scripts need more than just the basic email headers to parse. By specifying the "-x=" option, one can search and output any header field they want. Signed-off-by: Don Zickus --- builtin-mailinfo.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c index dacdf77..dd0f563 100644 --- a/builtin-mailinfo.c +++ b/builtin-mailinfo.c @@ -856,11 +856,12 @@ int mailinfo(FILE *in, FILE *out, int ks, const char *encoding, } static const char mailinfo_usage[] = - "git-mailinfo [-k] [-u | --encoding=] msg patch info"; + "git-mailinfo [-k] [-u | --encoding=] [-x=] msg patch info"; int cmd_mailinfo(int argc, const char **argv, const char *prefix) { const char *def_charset; + int top; /* NEEDSWORK: might want to do the optional .git/ directory * discovery @@ -870,6 +871,8 @@ int cmd_mailinfo(int argc, const char **argv, const char *prefix) def_charset = (git_commit_encoding ? git_commit_encoding : "utf-8"); metainfo_charset = def_charset; + for (top=0; header[top]; top++){ ; } + while (1 < argc && argv[1][0] == '-') { if (!strcmp(argv[1], "-k")) keep_subject = 1; @@ -879,7 +882,10 @@ int cmd_mailinfo(int argc, const char **argv, const char *prefix) metainfo_charset = NULL; else if (!prefixcmp(argv[1], "--encoding=")) metainfo_charset = argv[1] + 11; - else + else if (!prefixcmp(argv[1], "-x=")) { + header[top] = xmalloc(256*sizeof(char)); + strncpy(header[top++], argv[1]+3, 256); + } else usage(mailinfo_usage); argc--; argv++; } -- 1.5.0.2.211.g2ca9-dirty