109 static int convert_mail_conf_time(
const char *name,
int *intval,
int def_unit)
115 if (
conv_time(strval, intval, def_unit) == 0)
116 msg_fatal(
"parameter %s: bad time value or unit: %s", name, strval);
124 if (min && intval < min)
125 msg_fatal(
"invalid %s: %d (min %d)", name, intval, min);
126 if (max && intval > max)
127 msg_fatal(
"invalid %s: %d (max %d)", name, intval, max);
132 static int get_def_time_unit(
const char *name,
const char *defval)
138 msg_panic(
"parameter %s: missing time unit in default value: %s",
143 msg_panic(
"parameter %s: bad time unit in default value: %s",
158 def_unit = get_def_time_unit(name, defval);
159 if (convert_mail_conf_time(name, &intval, def_unit) == 0)
161 if (convert_mail_conf_time(name, &intval, def_unit) == 0)
162 msg_panic(
"get_mail_conf_time: parameter not found: %s", name);
170 int defval,
int def_unit,
int min,
int max)
176 if (convert_mail_conf_time(name, &intval, def_unit) == 0)
178 if (convert_mail_conf_time(name, &intval, def_unit) == 0)
179 msg_panic(
"get_mail_conf_time2: parameter not found: %s", name);
198 sprintf(buf,
"%ds", value);
206 while (table->
name) {
220 int main(
int unused_argc,
char **unused_argv)
228 "seconds",
"10s", &seconds, 0, 0,
229 "minutes",
"10m", &minutes, 0, 0,
230 "hours",
"10h", &hours, 0, 0,
231 "days",
"10d", &days, 0, 0,
232 "weeks",
"10w", &weeks, 0, 0,
int get_mail_conf_time2(const char *name1, const char *name2, int defval, int def_unit, int min, int max)
NORETURN msg_panic(const char *fmt,...)
int main(int argc, char **argv)
const char * mail_conf_eval(const char *string)
int conv_time(const char *strval, int *timval, int def_unit)
void check_mail_conf_time(const char *name, int intval, int min, int max)
void set_mail_conf_time_int(const char *name, int value)
void get_mail_conf_time_table(const CONFIG_TIME_TABLE *table)
VSTREAM * vstream_printf(const char *fmt,...)
NORETURN msg_fatal(const char *fmt,...)
const char * mail_conf_lookup_eval(const char *name)
int vstream_fflush(VSTREAM *stream)
char * concatenate(const char *arg0,...)
void mail_conf_update(const char *key, const char *value)
void set_mail_conf_time(const char *name, const char *value)
int get_mail_conf_time(const char *name, const char *defval, int min, int max)