aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--fetchmail.c7
2 files changed, 7 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index f35a730b..10237e5f 100644
--- a/NEWS
+++ b/NEWS
@@ -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"));