X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/ba937f0119d6102d2af9cc777cce495e65544952..ddbf05c8c1f1e6fd25184bf7f22ee5b67eaaa582:/lib/configuration.c diff --git a/lib/configuration.c b/lib/configuration.c index ca7d86e..934e52b 100644 --- a/lib/configuration.c +++ b/lib/configuration.c @@ -22,12 +22,8 @@ * @brief Configuration file support */ -#include -#include "types.h" +#include "common.h" -#include -#include -#include #include #include #include @@ -956,6 +952,8 @@ static const struct conf conf[] = { { C(noticed_history), &type_integer, validate_positive }, { C(password), &type_string, validate_any }, { C(player), &type_stringlist_accum, validate_player }, + { C(playlist_lock_timeout), &type_integer, validate_positive }, + { C(playlist_max) , &type_integer, validate_positive }, { C(plugins), &type_string_accum, validate_isdir }, { C(prefsync), &type_integer, validate_positive }, { C(queue_pad), &type_integer, validate_positive }, @@ -966,6 +964,7 @@ static const struct conf conf[] = { { C2(restrict, restrictions), &type_restrict, validate_any }, { C(sample_format), &type_sample_format, validate_sample_format }, { C(scratch), &type_string_accum, validate_isreg }, + { C(sendmail), &type_string, validate_isabspath }, { C(short_display), &type_integer, validate_positive }, { C(signal), &type_signal, validate_any }, { C(smtp_server), &type_string, validate_any }, @@ -1194,11 +1193,15 @@ static struct config *config_default(void) { c->dbversion = 2; c->cookie_login_lifetime = 86400; c->cookie_key_lifetime = 86400 * 7; + if(sendmail_binary[0] && strcmp(sendmail_binary, "none")) + c->sendmail = xstrdup(sendmail_binary); c->smtp_server = xstrdup("127.0.0.1"); c->new_max = 100; c->reminder_interval = 600; /* 10m */ c->new_bias_age = 7 * 86400; /* 1 week */ c->new_bias = 9000000; /* 100 times the base weight */ + c->playlist_max = INT_MAX; /* effectively no limit */ + c->playlist_lock_timeout = 10; /* 10s */ /* Default stopwords */ if(config_set(&cs, (int)NDEFAULT_STOPWORDS, (char **)default_stopwords)) exit(1); @@ -1214,7 +1217,7 @@ static struct config *config_default(void) { return c; } -static char *get_file(struct config *c, const char *name) { +char *config_get_file2(struct config *c, const char *name) { char *s; byte_xasprintf(&s, "%s/%s", c->home, name); @@ -1412,7 +1415,7 @@ char *config_usersysconf(const struct passwd *pw) { } char *config_get_file(const char *name) { - return get_file(config, name); + return config_get_file2(config, name); } /*