3f5389016777291f84c84f3e78741a8d04bea634
[ezmlm] / ezmlm-unsub.c
1 #include "strerr.h"
2 #include "subscribe.h"
3 #include "log.h"
4
5 #define FATAL "ezmlm-unsub: fatal: "
6 #define WARNING "ezmlm-unsub: warning: "
7
8 void main(argc,argv)
9 int argc;
10 char **argv;
11 {
12 char *dir;
13 char *addr;
14
15 dir = argv[1];
16 if (!dir)
17 strerr_die1x(100,"ezmlm-unsub: usage: ezmlm-unsub dir box@domain ...");
18 if (chdir(dir) == -1)
19 strerr_die4sys(111,FATAL,"unable to switch to ",dir,": ");
20
21 argv += 2;
22 while (addr = *argv++)
23 switch(subscribe(addr,0)) {
24 case -1:
25 strerr_die1(111,FATAL,&subscribe_err);
26 case -2:
27 strerr_warn4(WARNING,"cannot unsubscribe ",addr,": ",&subscribe_err);
28 break;
29 case 1:
30 log("-manual",addr);
31 }
32
33 _exit(0);
34 }