X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/9417e1a3cc1e271731a15af771234f92da8d2646..4942ee7d61bf22ba38bf026c7d05028cb7db0d54:/lib/configuration.c diff --git a/lib/configuration.c b/lib/configuration.c index 98f5fbf..ff59968 100644 --- a/lib/configuration.c +++ b/lib/configuration.c @@ -947,6 +947,8 @@ static const struct conf conf[] = { { C(password), &type_string, validate_any }, { C(pause_mode), &type_string, validate_pausemode }, { 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 }, @@ -1195,6 +1197,8 @@ static struct config *config_default(void) { c->new_bias_age = 7 * 86400; /* 1 week */ c->new_bias = 4500000; /* 50 times the base weight */ c->sox_generation = DEFAULT_SOX_GENERATION; + 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); @@ -1393,6 +1397,10 @@ int config_read(int server, error(0, "'nice_speaker' cannot be changed without a restart"); /* ...but we accept the new config anyway */ } + if(c->nice_server != oldconfig->nice_server) { + error(0, "'nice_server' cannot be changed without a restart"); + /* ...but we accept the new config anyway */ + } if(namepartlist_compare(&c->namepart, &oldconfig->namepart)) { error(0, "'namepart' settings cannot be changed without a restart"); failed = 1; @@ -1462,7 +1470,7 @@ char *config_get_file(const char *name) { static int stringlist_compare(const struct stringlist *a, const struct stringlist *b) { - int n, c; + int n = 0, c; while(n < a->n && n < b->n) { if((c = strcmp(a->s[n], b->s[n]))) @@ -1498,7 +1506,7 @@ static int namepart_compare(const struct namepart *a, static int namepartlist_compare(const struct namepartlist *a, const struct namepartlist *b) { - int n, c; + int n = 0, c; while(n < a->n && n < b->n) { if((c = namepart_compare(&a->s[n], &b->s[n])))