chiark / gitweb /
lib/configuration.c: Allow resetting `player' and `tracklength' lists.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 5 May 2013 13:51:05 +0000 (14:51 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Wed, 22 May 2013 23:46:25 +0000 (00:46 +0100)
Saith the manual

| If player is used without arguments, the list of players is cleared.

but the code disallows such requests.  So it's impossible to override
the player lists.

lib/configuration.c

index 4f21d25..351b151 100644 (file)
@@ -697,7 +697,7 @@ static int validate_isreg(const struct config_state *cs,
 static int validate_player(const struct config_state *cs,
                           int nvec,
                           char attribute((unused)) **vec) {
-  if(nvec < 2) {
+  if(nvec && nvec < 2) {
     disorder_error(0, "%s:%d: should be at least 'player PATTERN MODULE'",
                   cs->path, cs->line);
     return -1;
@@ -714,7 +714,7 @@ static int validate_player(const struct config_state *cs,
 static int validate_tracklength(const struct config_state *cs,
                                int nvec,
                                char attribute((unused)) **vec) {
-  if(nvec < 2) {
+  if(nvec && nvec < 2) {
     disorder_error(0, "%s:%d: should be at least 'tracklength PATTERN MODULE'",
                   cs->path, cs->line);
     return -1;