23#define WHO "ezmlm-gate"
32static void die_usage() {
logmsg(
WHO,100,USAGE,
"ezmlm-gate [-cCmMpPqrRsSvV] dir [moddir [...]]"); }
37stralloc sendopt = {0};
54 case 0:
case 99:
case 100:
break;
58 if (seek_begin(0) == -1)
63void main(
int argc,
char **argv)
68 const char *queryext = (
char *) 0;
82 if (!stralloc_copys(&sendopt,
"-"))
die_nomem();
85 while ((
opt = getoptb(argc,argv,
"0cCmMpPq:Q:sSrRt:T:vVyY")) != opteof)
103 case 'q':
if (optarg) queryext = optarg;
break;
106 case '0': dontact = 1;
break;
break;
107 default: die_usage();
110 dir = argv[optind++];
111 if (!
dir) die_usage();
112 if (chdir(
dir) == -1)
115 sender = env_get(
"SENDER");
122 for (j = 0;j <
cmds.len; ++j)
125 case '\0':
case '#':
break;
132 if (!ret || ret == 99)
146 program =
"/ezmlm-send";
150 program =
"/ezmlm-store";
156 buffer_puts(buffer_2,program);
157 buffer_put(buffer_2,
" ", 1);
158 buffer_put(buffer_2,opts->s, opts->len);
159 buffer_put(buffer_2,
" ", 1);
160 buffer_puts(buffer_2,
dir);
161 buffer_putsflush(buffer_2,
"\n");
int issub()
Returns (char *) to match if userhost is in the subscriber database dbname, 0 otherwise....
const char auto_version[]
void wrap_execsh(const char *command)
void wrap_exitcode(int pid)
int wrap_waitpid(int pid)
void wrap_execbin(const char *program, struct stralloc *opts, const char *dir)
Error messages. If you translate these, I would urge you to keep the English version as well....
void closesql(void)
close connection to SQL server, if open
int getconf(stralloc *sa, const char *fn, int flagrequired, const char *dir)
const char * logmsg(const char *dir, unsigned long num, unsigned long listno, unsigned long subs, int done)