103 static int convert_mail_conf_nint(
const char *name,
int *intval)
111 *intval = longval = strtol(strval, &end, 10);
112 if (*strval == 0 || *end != 0 || errno == ERANGE || longval != *intval)
113 msg_fatal(
"bad numerical configuration: %s = %s", name, strval);
121 static void check_mail_conf_nint(
const char *name,
int intval,
int min,
int max)
123 if (min && intval < min)
124 msg_fatal(
"invalid %s parameter value %d < %d", name, intval, min);
125 if (max && intval > max)
126 msg_fatal(
"invalid %s parameter value %d > %d", name, intval, max);
135 if (convert_mail_conf_nint(name, &intval) == 0)
137 if (convert_mail_conf_nint(name, &intval) == 0)
138 msg_panic(
"get_mail_conf_nint: parameter not found: %s", name);
139 check_mail_conf_nint(name, intval, min, max);
152 if (convert_mail_conf_nint(name, &intval) == 0)
154 if (convert_mail_conf_nint(name, &intval) == 0)
155 msg_panic(
"get_mail_conf_nint2: parameter not found: %s", name);
156 check_mail_conf_nint(name, intval, min, max);
163 typedef const char *(*stupid_indent_int) (void);
170 if (convert_mail_conf_nint(name, &intval) == 0)
172 if (convert_mail_conf_nint(name, &intval) == 0)
173 msg_panic(
"get_mail_conf_nint_fn: parameter not found: %s", name);
174 check_mail_conf_nint(name, intval, min, max);
191 sprintf(buf,
"%d", value);
199 while (table->
name) {
210 while (table->
name) {
NORETURN msg_panic(const char *fmt,...)
void set_mail_conf_nint(const char *name, const char *value)
void set_mail_conf_nint_int(const char *name, int value)
void get_mail_conf_nint_fn_table(const CONFIG_NINT_FN_TABLE *table)
int get_mail_conf_nint_fn(const char *name, stupid_indent_int defval, int min, int max)
NORETURN msg_fatal(const char *fmt,...)
const char * mail_conf_lookup_eval(const char *name)
int get_mail_conf_nint(const char *name, const char *defval, int min, int max)
char * concatenate(const char *arg0,...)
const char *(* stupid_indent_int)(void)
void get_mail_conf_nint_table(const CONFIG_NINT_TABLE *table)
int get_mail_conf_nint2(const char *name1, const char *name2, int defval, int min, int max)
void mail_conf_update(const char *key, const char *value)
const char *(* defval)(void)