85fce6a3f1fadd8608f5c0ba5b8ab6ef2522c010
[ezmlm] / ezmlm-sub.c
1 #include "strerr.h"
2 #include "subscribe.h"
3 #include "log.h"
4
5 #define FATAL "ezmlm-sub: fatal: "
6 #define WARNING "ezmlm-sub: 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-sub: usage: ezmlm-sub 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,1)) {
24 case -1:
25 strerr_die1(111,FATAL,&subscribe_err);
26 case -2:
27 strerr_warn4(WARNING,"cannot subscribe ",addr,": ",&subscribe_err);
28 break;
29 case 1:
30 log("+manual",addr);
31 }
32 _exit(0);
33 }