diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2006-06-12 11:45:05 +0000 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2006-06-12 11:45:05 +0000 |
commit | b63baae8d86d19a53f97dad36961488ae777b4e3 (patch) | |
tree | 1e159da7d883c411e7945293467988ee2392055d | |
parent | c1e2f371ae74f580893a54342431301ec6cf2725 (diff) | |
download | fetchmail-b63baae8d86d19a53f97dad36961488ae777b4e3.tar.gz fetchmail-b63baae8d86d19a53f97dad36961488ae777b4e3.tar.bz2 fetchmail-b63baae8d86d19a53f97dad36961488ae777b4e3.zip |
No longer stat rcfile if it's called -.
Fixes BerliOS bug #7858.
svn path=/branches/BRANCH_6-3/; revision=4853
-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")); |