int account_reconnect_delay(account_t *a) { char *setting = set_getstr(&a->bee->set, "auto_reconnect_delay"); struct account_reconnect_delay p; if (account_reconnect_delay_parse(setting, &p)) { if (a->auto_reconnect_delay == 0) { a->auto_reconnect_delay = p.start; } else if (p.op == '+') { a->auto_reconnect_delay += p.step; } else if (p.op == '*') { a->auto_reconnect_delay *= p.step; } if (a->auto_reconnect_delay > p.max) { a->auto_reconnect_delay = p.max; } } else { a->auto_reconnect_delay = 0; } return a->auto_reconnect_delay; }
char *set_eval_account_reconnect_delay( set_t *set, char *value ) { struct account_reconnect_delay p; return account_reconnect_delay_parse( value, &p ) ? value : SET_INVALID; }