diff options
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | fetchmail.c | 7 |
2 files changed, 7 insertions, 3 deletions
@@ -82,6 +82,9 @@ fetchmail 6.3.5 (not yet released): - also enter IDLE loop when messages are present on the server. * Fix --flush description in the manual page, fetchmail does not mark messages seen unless it has successfully delivered them. Suggested by Frederic Marchal. +* Fetchmail no longer attempts to stat the "-" file in daemon mode -- this is a + special name to read the RC file from stdin, and cannot always be re-read + anyways. BerliOS bug #7858. # CHANGES: * Rename all fetchmail-internal lock_* functions to fm_lock_*. Obsoletes diff --git a/fetchmail.c b/fetchmail.c index dd082f2f..1c895a0a 100644 --- a/fetchmail.c +++ b/fetchmail.c @@ -597,8 +597,9 @@ int main(int argc, char **argv) */ struct stat rcstat; - if (stat(rcfile, &rcstat) == -1) - { + if (strcmp(rcfile, "-") == 0) { + /* do nothing */ + } else if (stat(rcfile, &rcstat) == -1) { if (errno != ENOENT) report(stderr, GT_("couldn't time-check %s (error %d)\n"), @@ -986,7 +987,7 @@ static int load_params(int argc, char **argv, int optind) /* note the parse time, so we can pick up on modifications */ parsetime = 0; /* foil compiler warnings */ - if (stat(rcfile, &rcstat) != -1) + if (strcmp(rcfile, "-") == 0 || stat(rcfile, &rcstat) != -1) parsetime = rcstat.st_mtime; else if (errno != ENOENT) report(stderr, GT_("couldn't time-check the run-control file\n")); |