| 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 | } |