X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/9ade23192475758d2526d5b8eda160fbd8b53c66..f8f8039fc44104b43b94467d17a8d71fc40f219b:/lib/configuration.c diff --git a/lib/configuration.c b/lib/configuration.c index 081e6d2..47ba9f4 100644 --- a/lib/configuration.c +++ b/lib/configuration.c @@ -17,6 +17,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ +/** @file lib/configuration.c + * @brief Configuration file support + */ #include #include "types.h" @@ -791,7 +794,7 @@ static int validate_addrport(const struct config_state attribute((unused)) *cs, } } -static int validate_address(const struct config_state attribute((unused)) *cs, +static int validate_port(const struct config_state attribute((unused)) *cs, int nvec, char attribute((unused)) **vec) { switch(nvec) { @@ -803,7 +806,7 @@ static int validate_address(const struct config_state attribute((unused)) *cs, case 2: return 0; default: - error(0, "%s:%d: expected ADDRESS PORT", + error(0, "%s:%d: expected [ADDRESS] PORT", cs->path, cs->line); return -1; } @@ -819,7 +822,7 @@ static const struct conf conf[] = { { C(alias), &type_string, validate_alias }, { C(allow), &type_stringlist_accum, validate_allow }, { C(broadcast), &type_stringlist, validate_addrport }, - { C(broadcast_from), &type_stringlist, validate_address }, + { C(broadcast_from), &type_stringlist, validate_addrport }, { C(channel), &type_string, validate_channel }, { C(checkpoint_kbyte), &type_integer, validate_non_negative }, { C(checkpoint_min), &type_integer, validate_non_negative }, @@ -829,9 +832,10 @@ static const struct conf conf[] = { { C(gap), &type_integer, validate_non_negative }, { C(history), &type_integer, validate_positive }, { C(home), &type_string, validate_isdir }, - { C(listen), &type_stringlist, validate_addrport }, + { C(listen), &type_stringlist, validate_port }, { C(lock), &type_boolean, validate_any }, { C(mixer), &type_string, validate_ischr }, + { C(multicast_ttl), &type_integer, validate_non_negative }, { C(namepart), &type_namepart, validate_any }, { C2(nice, nice_rescan), &type_integer, validate_non_negative }, { C(nice_rescan), &type_integer, validate_non_negative }, @@ -883,6 +887,7 @@ static int config_set(const struct config_state *cs, || which->type->set(cs, which, nvec - 1, vec + 1)); } +/** @brief Error callback used by config_include() */ static void config_error(const char *msg, void *u) { const struct config_state *cs = u; @@ -969,6 +974,7 @@ static struct config *config_default(void) { c->sample_format.byte_format = AO_FMT_NATIVE; c->queue_pad = 10; c->speaker_backend = -1; + c->multicast_ttl = 1; return c; }