[PATCH 2/5] add the ability to select more email header fields to output
- From
- Don Zickus <dzickus@redhat.com>
- Date
- Mar 14, 2007, 20:12 UTC
- 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 <dzickus@redhat.com> --- 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=<encoding>] msg patch <mail >info"; + "git-mailinfo [-k] [-u | --encoding=<encoding>] [-x=<field>] msg patch <mail >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