/*$Id: ezmlm-issubn.c,v 1.13 1999/08/07 20:45:16 lindberg Exp $*/ /*$Name: ezmlm-idx-040 $*/ #include "strerr.h" #include "env.h" #include "subscribe.h" #include "sgetopt.h" #include "errtxt.h" #include "idx.h" #define FATAL "ezmlm-issubn: fatal: " void *psql = (void *) 0; void die_usage() { strerr_die1x(100,"ezmlm-issubn: usage: ezmlm-issubn [-nN] dir [dir1 ...]"); } void die_sender() { strerr_die2x(100,FATAL,ERR_NOSENDER); } void main(argc,argv) int argc; char **argv; { char *dir; char *addr; int flagsub = 0; int opt; addr = env_get("SENDER"); if (!addr) die_sender(); /* REQUIRE sender */ while ((opt = getopt(argc,argv,"nNvV")) != opteof) switch(opt) { case 'n': flagsub = 99; break; case 'N': flagsub = 0; break; case 'v': case 'V': strerr_die2x(0, "ezmlm-issubn version: ezmlm-0.53+",EZIDX_VERSION); default: die_usage(); } dir = argv[optind]; if (chdir(dir) == -1) strerr_die4sys(111,FATAL,ERR_SWITCH,dir,": "); while ((dir = argv[optind++])) { if (dir[0] != '/') strerr_die2x(100,FATAL,ERR_SLASH); if (issub(dir,addr,(char *) 0,FATAL)) { closesql(); _exit(flagsub); /* subscriber */ } } closesql(); if (flagsub) /* not subscriber anywhere */ _exit(0); else _exit(99); }