int run_digests(struct mlmmj_list *list, const char *mlmmjsend)
{
char *lasttimestr, *lastindexstr, *lastissuestr;
- char *digestmaxmailsstr;
char *s1, *s2;
time_t digestinterval, t, lasttime;
long digestmaxmails, lastindex, index, lastissue;
if (digestinterval == 0)
digestinterval = (time_t)DIGESTINTERVAL;
- digestmaxmailsstr = ctrlvalue(list, "digestmaxmails");
- if (digestmaxmailsstr) {
- digestmaxmails = atol(digestmaxmailsstr);
- myfree(digestmaxmailsstr);
- } else {
+ digestmaxmails = ctrllong(list, "digestmaxmails");
+ if (digestmaxmails == 0)
digestmaxmails = DIGESTMAXMAILS;
- }
fd = openat(list->fd, "latestdigest", O_RDWR | O_CREAT | O_EXLOCK, S_IRUSR | S_IWUSR);
if (fd < 0) {
char *relayhost = NULL, *archivefilename = NULL, *tmpstr;
char *listctrl = NULL, *subddirname = NULL;
char *mlmmjbounce = NULL, *bindir, *mailmap, *probefile, *a;
- char *body = NULL, *hdrs = NULL, *memmailsizestr = NULL, *verp = NULL;
- char relay[16], *verpfrom, *maxverprecipsstr;
- char strindex[32], *reply, *strport, *smtphelo, *requeuefilename;
+ char *body = NULL, *hdrs = NULL, *verp = NULL;
+ char relay[16], *verpfrom;
+ char strindex[32], *reply, *smtphelo, *requeuefilename;
ssize_t memmailsize = 0;
DIR *subddir;
struct dirent *dp;
struct mlmmj_list list;
unsigned short smtpport = 25;
struct sigaction sigact;
- const char *errstr;
mlmmj_list_init(&list);
CHECKFULLPATH(argv[0]);
if(statctrl(&list, "verp") == 1)
verp = mystrdup("");
- maxverprecipsstr = ctrlvalue(&list, "maxverprecips");
- if(verp && maxverprecipsstr) {
- maxverprecips = atol(maxverprecipsstr);
- myfree(maxverprecipsstr);
- }
-
+ maxverprecips = ctrlint(&list, "maxverprecips");
if(maxverprecips <= 0)
maxverprecips = MAXVERPRECIPS;
exit(EXIT_FAILURE);
}
- memmailsizestr = ctrlvalue(&list, "memorymailsize");
+ memmailsize = ctrlsizet(&list, "memorymailsize");
ctrlarchive = statctrl(&list, "noarchive");
- if(memmailsizestr) {
- memmailsize = strtoim(memmailsizestr, 0, SIZE_T_MAX, &errstr);
- myfree(memmailsizestr);
- }
-
- if(memmailsize == 0)
+ if (memmailsize == 0)
memmailsize = MEMORYMAILSIZE;
if(st.st_size > memmailsize) {
strncpy(relay, RELAYHOST, sizeof(relay));
}
}
- strport = ctrlvalue(&list, "smtpport");
- if(strport)
- smtpport = (unsigned short)atol(strport);
+ if (statctrl(&list, "smtpport"))
+ smtpport = (unsigned short)ctrlint(&list, "smtpport");
if ((smtphelo = ctrlvalue(&list, "smtphelo")) == NULL) {
smtphelo = hostnamestr();