diff options
Diffstat (limited to 'mail/mutt/files/extra-patch-greeting')
| -rw-r--r-- | mail/mutt/files/extra-patch-greeting | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/mail/mutt/files/extra-patch-greeting b/mail/mutt/files/extra-patch-greeting new file mode 100644 index 000000000000..a1f4bc113156 --- /dev/null +++ b/mail/mutt/files/extra-patch-greeting @@ -0,0 +1,160 @@ +diff -urN mutt-1.5.19/globals.h mutt-1.5.19-vc/globals.h +--- mutt-1.5.19/globals.h 2009-01-04 01:27:10.000000000 +0200 ++++ mutt-1.5.19-vc/globals.h 2009-02-09 19:30:31.000000000 +0200 +@@ -52,6 +52,7 @@ + WHERE char *FolderFormat; + WHERE char *ForwFmt; + WHERE char *Fqdn; ++WHERE char *Greeting; + WHERE char *HdrFmt; + WHERE char *HistFile; + WHERE char *Homedir; +diff -urN mutt-1.5.19/hdrline.c mutt-1.5.19-vc/hdrline.c +--- mutt-1.5.19/hdrline.c 2009-01-05 21:20:53.000000000 +0200 ++++ mutt-1.5.19-vc/hdrline.c 2009-02-09 19:30:31.000000000 +0200 +@@ -741,3 +741,62 @@ + { + mutt_FormatString (dst, dstlen, 0, s, hdr_format_str, (unsigned long) hfi, flags); + } ++ ++/* %n = recipient name ++ * %u = user (login) name of recipient ++ * %v = first name of recipient */ ++const char * ++greeting_string (char *dest, ++ size_t destlen, ++ size_t col, ++ char op, ++ const char *src, ++ const char *prefix, ++ const char *ifstring, ++ const char *elsestring, ++ unsigned long data, ++ format_flag flags) ++{ ++ HEADER *hdr = (HEADER *)data; ++ char *p, buf2[SHORT_STRING]; ++ ++ dest[0] = '\0'; ++ switch (op) ++ { ++ case 'n': ++ mutt_format_s (dest, destlen, prefix, mutt_get_name (hdr->env->to)); ++ break; ++ ++ case 'u': ++ if (hdr->env->to) ++ { ++ strfcpy (buf2, mutt_addr_for_display (hdr->env->to), sizeof (buf2)); ++ if ((p = strpbrk (buf2, "%@"))) ++ *p = '\0'; ++ } ++ else ++ buf2[0] = '\0'; ++ mutt_format_s (dest, destlen, prefix, buf2); ++ break; ++ ++ case 'v': ++ if (hdr->env->to) ++ mutt_format_s (buf2, sizeof (buf2), prefix, mutt_get_name (hdr->env->to)); ++ else if (hdr->env->cc) ++ mutt_format_s (buf2, sizeof (buf2), prefix, mutt_get_name (hdr->env->cc)); ++ else ++ *buf2 = '\0'; ++ if ((p = strpbrk (buf2, " %@"))) ++ *p = '\0'; ++ mutt_format_s (dest, destlen, prefix, buf2); ++ break; ++ ++ default: ++ snprintf (dest, destlen, "%%%s%c", prefix, op); ++ break; ++ } ++ if (flags & M_FORMAT_OPTIONAL) ++ mutt_FormatString (dest, destlen, col, elsestring, greeting_string, data, flags); ++ ++ return(src); ++} +diff -urN mutt-1.5.19/init.h mutt-1.5.19-vc/init.h +--- mutt-1.5.19/init.h 2009-01-05 21:20:53.000000000 +0200 ++++ mutt-1.5.19-vc/init.h 2009-02-09 19:30:31.000000000 +0200 +@@ -745,6 +745,22 @@ + ** .pp + ** This setting defaults to the contents of the environment variable \fC$$$EMAIL\fP. + */ ++ { "greeting", DT_STR, R_NONE, UL &Greeting, UL "" }, ++ /* ++ ** .pp ++ ** When set, this is the string that will precede every message as a ++ ** greeting phrase to the recipients. ++ ** .pp ++ ** ``Format strings'' are similar to the strings used in the ``C'' ++ ** function printf to format output (see the man page for more detail). ++ ** The following sequences are defined in Mutt: ++ ** .pp ++ ** .dl ++ ** .dt %n .dd recipient name ++ ** .dt %u .dd user (login) name of recipient ++ ** .dt %v .dd first name of recipient ++ ** .de ++ */ + { "gecos_mask", DT_RX, R_NONE, UL &GecosMask, UL "^[^,]*" }, + /* + ** .pp +diff -urN mutt-1.5.19/PATCHES mutt-1.5.19-vc/PATCHES +--- mutt-1.5.19/PATCHES 2008-03-19 22:07:06.000000000 +0200 ++++ mutt-1.5.19-vc/PATCHES 2009-02-09 19:30:31.000000000 +0200 +@@ -0,0 +1 @@ ++vc.greeting +diff -urN mutt-1.5.19/protos.h mutt-1.5.19-vc/protos.h +--- mutt-1.5.19/protos.h 2009-01-05 21:20:53.000000000 +0200 ++++ mutt-1.5.19-vc/protos.h 2009-02-09 19:32:15.000000000 +0200 +@@ -526,6 +526,9 @@ + void ci_bounce_message (HEADER *, int *); + int ci_send_message (int, HEADER *, char *, CONTEXT *, HEADER *); + ++const char *greeting_string (char *, size_t, size_t, char, const char *, const char *, ++ const char *, const char *, unsigned long, format_flag); ++ + /* prototypes for compatibility functions */ + + #ifndef HAVE_SETENV +diff -urN mutt-1.5.19/send.c mutt-1.5.19-vc/send.c +--- mutt-1.5.19/send.c.orig 2010-09-17 16:49:09.000000000 +0200 ++++ mutt-1.5.19-vc/send.c 2010-09-17 16:53:15.000000000 +0200 +@@ -469,6 +469,18 @@ + } + } + ++void mutt_make_greeting (HEADER *hdr, FILE *out, int flags) ++{ ++ char buffer[STRING]; ++ if (Greeting) ++ { ++ mutt_FormatString(buffer, sizeof(buffer), 0, Greeting, greeting_string, ++ (unsigned long) hdr, flags); ++ fputs(buffer, out); ++ fputc ('\n', out); ++ } ++} ++ + void mutt_make_post_indent (CONTEXT *ctx, HEADER *cur, FILE *out) + { + char buffer[STRING]; +@@ -1003,7 +1015,6 @@ + } + } + +- + /* look through the recipients of the message we are replying to, and if + we find an address that matches $alternates, we use that as the default + from field */ +@@ -1439,6 +1450,8 @@ + if (option (OPTHDRS)) + process_user_header (msg->env); + ++ mutt_make_greeting(msg, tempfp, flags); ++ + if (flags & SENDBATCH) + mutt_copy_stream (stdin, tempfp); + |
