diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2016-03-05 11:30:51 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2016-03-05 11:31:22 -0800 |
commit | b1abce1a30c66a22766e3d4b8b4ff9ae852f150c (patch) | |
tree | 33733dce482e31136e249708269e6d665412340d /lib-src | |
parent | 98b8d4489241f79c200a8b68330ba4b2dbd16cdb (diff) |
Restore leading space in movemail pop output
* lib-src/movemail.c (movemail_strftime) [WINDOWSNT]: New function.
(strftime) [WINDOWSNT]: New macro.
(mbx_delimit_begin): Go back to previous version of this code,
now that there’s a special-purpose WINDOWSNT implementation
that should do the right thing. That way, the output continues
to use leading space rather than leading zero for day of month.
Diffstat (limited to 'lib-src')
-rw-r--r-- | lib-src/movemail.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/lib-src/movemail.c b/lib-src/movemail.c index efa0219e58..873d85dfd7 100644 --- a/lib-src/movemail.c +++ b/lib-src/movemail.c @@ -799,6 +799,24 @@ mbx_write (char *line, int len, FILE *mbf) return fwrite (line, 1, len, mbf) == len && 0 <= fputc ('\n', mbf); } +#ifdef WINDOWSNT +/* Work around MS-Windows lack of support for %e or %T with a + special-purpose strftime that assumes the exact format that + movemail uses. */ +static size_t +movemail_strftime (char *s, size_t size, char const *format, + struct tm const *tm) +{ + size_t n = strftime (s, size, "From movemail %a %b %d %H:%M:%S %Y\n", tm); + char *mday = s + sizeof "From movemail Sun Jan " - 1; + if (*mday == '0') + *mday = ' '; + return n; +} +# undef strftime +# define strftime movemail_strftime +#endif + static bool mbx_delimit_begin (FILE *mbf) { @@ -809,7 +827,7 @@ mbx_delimit_begin (FILE *mbf) char fromline[100]; if (! strftime (fromline, sizeof fromline, - "From movemail %a %b %d %H:%M:%S %Y\n", ltime)) + "From movemail %a %b %e %T %Y\n", ltime)) { errno = EOVERFLOW; return false; |