Add an option to convert the date used in the Date header into the local
(sender's) timezone. This is the current behavior and the option
defaults to true. Unsetting this option causes the date in the Date
header to be formatted using the GMT timezone.
Mutt puts the curly brakets on separate lines. You can leave off curly
brackets for the else if you like.
if (option (OPTLOCALDATEHEADER))
{
l = localtime (&t);
tz = mutt_local_tz (t);
}
else
{
l = gmtime (&t);
}
-Kevin
Add an option to convert the date used in the Date header into the local
(sender's) timezone. This is the current behavior and the option
defaults to true. Unsetting this option causes the date in the Date
header to be formatted using the GMT timezone.
This option is useful for privacy-sensitive users who may not wish to
divulge their sending timezone.
---
I made the requested formatting change and I also just initialized `l`
with gmtime(&t) which removes the `else` branch entirely. Let me know if
you prefer it the other way and I'll switch it back.
Hi Gregory,
I think it's better to have the else branch. Most people will leave the
option set, so performing the gmtime() syscall in advance is a waste
(albeit a tiny one).
-Kevin
init.h | 6 ++++++mutt.h | 1 +sendlib.c | 10 ++++++++--
3 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/init.h b/init.h
index 7590b315..acc7d8b2 100644
--- a/init.h+++ b/init.h
@@ -1954,6 +1954,12 @@ struct option_t MuttVars[] = {
** from your spool mailbox to your $$mbox mailbox, or as a result of
** a ``$mbox-hook'' command.
*/
+ { "local_date_header", DT_BOOL, R_NONE, {.l=OPTLOCALDATEHEADER}, {.l=1} },+ /*+ ** .pp+ ** If \fIset\fP, convert the date in the Date header of sent emails into local+ ** (sender's) timezone.+ */ { "mail_check", DT_NUM, R_NONE, {.p=&BuffyTimeout}, {.l=5} },
/*
** .pp
diff --git a/mutt.h b/mutt.h
index b7f9d234..88b71da5 100644
--- a/mutt.h+++ b/mutt.h
@@ -480,6 +480,7 @@ enum
OPTINCLUDEENCRYPTED,
OPTINCLUDEONLYFIRST,
OPTKEEPFLAGGED,
+ OPTLOCALDATEHEADER, OPTMUTTLISPINLINEEVAL,
OPTMAILCAPSANITIZE,
OPTMAILCHECKRECENT,
diff --git a/sendlib.c b/sendlib.c
index 36264aa0..77ff044f 100644
--- a/sendlib.c+++ b/sendlib.c
@@ -1759,8 +1759,14 @@ BODY *mutt_remove_multipart_alternative (BODY *b)
void mutt_make_date (BUFFER *s)
{
time_t t = time (NULL);
- struct tm *l = localtime (&t);- time_t tz = mutt_local_tz (t);+ struct tm *l = gmtime (&t);+ time_t tz = 0;++ if (option (OPTLOCALDATEHEADER))+ {+ l = localtime (&t);+ tz = mutt_local_tz (t);+ } tz /= 60;
--
2.31.1