aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1996-10-02 16:51:32 +0000
committerEric S. Raymond <esr@thyrsus.com>1996-10-02 16:51:32 +0000
commit8484c4ce31e7964c777f04b56d921ef9074628df (patch)
tree889d01f18a4a9396654e3ce206a8fc1e0d62b068
parent654510a65ddd489d5ad7e1c4312629c10c6ed3e2 (diff)
downloadfetchmail-8484c4ce31e7964c777f04b56d921ef9074628df.tar.gz
fetchmail-8484c4ce31e7964c777f04b56d921ef9074628df.tar.bz2
fetchmail-8484c4ce31e7964c777f04b56d921ef9074628df.zip
Make the check for whether --flush and --all work protocol-independent.
svn path=/trunk/; revision=205
-rw-r--r--driver.c18
-rw-r--r--pop2.c10
2 files changed, 18 insertions, 10 deletions
diff --git a/driver.c b/driver.c
index 8f9a8f04..7ff063b2 100644
--- a/driver.c
+++ b/driver.c
@@ -493,6 +493,24 @@ struct method *proto;
#endif /* HAVE_RRESVPORT_H */
int num, count, deletions = 0;
+ /* lacking methods, there are some options that may fail */
+ if (!proto->is_old)
+ {
+ /* check for unsupported options */
+ if (queryctl->flush) {
+ fprintf(stderr,
+ "Option --flush is not supported with %s\n",
+ proto->name);
+ return(PS_SYNTAX);
+ }
+ else if (queryctl->fetchall) {
+ fprintf(stderr,
+ "Option --all is not supported with %s\n",
+ proto->name);
+ return(PS_SYNTAX);
+ }
+ }
+
tagnum = 0;
protocol = proto;
diff --git a/pop2.c b/pop2.c
index 09378ce5..2e808b2d 100644
--- a/pop2.c
+++ b/pop2.c
@@ -145,15 +145,5 @@ const static struct method pop2 =
int doPOP2 (queryctl)
struct hostrec *queryctl;
{
- /* check for unsupported options */
- if (queryctl->flush) {
- fprintf(stderr,"Option --flush is not supported with POP2\n");
- return(PS_SYNTAX);
- }
- else if (queryctl->fetchall) {
- fprintf(stderr,"Option --all is not supported with POP2\n");
- return(PS_SYNTAX);
- }
-
return(do_protocol(queryctl, &pop2));
}