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.
This commit is contained in:
parent
98b8d44892
commit
b1abce1a30
1 changed files with 19 additions and 1 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue