{ 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 },
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);
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;
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])))
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])))