diff options
Diffstat (limited to 'src/zeroconf.c')
-rw-r--r-- | src/zeroconf.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/zeroconf.c b/src/zeroconf.c index 6dca7e10b..cb2f8abc6 100644 --- a/src/zeroconf.c +++ b/src/zeroconf.c @@ -36,6 +36,10 @@ */ #define SERVICE_NAME "Music Player" +#define DEFAULT_ZEROCONF_ENABLED 1 + +static zeroconfEnabled; + static struct ioOps zeroConfIo = { }; @@ -549,9 +553,14 @@ void initZeroconf(void) { const char* serviceName = SERVICE_NAME; ConfigParam *param; - int enabled = getBoolConfigParam(CONF_ZEROCONF_ENABLED); - if (enabled != -1 && enabled != 1) + zeroconfEnabled = getBoolConfigParam(CONF_ZEROCONF_ENABLED); + if (enabled == -1) + zeroconfEnabled = DEFAULT_ZEROCONF_ENABLED; + else if (enabled < 0) + exit(EXIT_FAILURE); + + if (!zeroconfEnabled) return; param = getConfigParam(CONF_ZEROCONF_NAME); @@ -570,9 +579,7 @@ void initZeroconf(void) void finishZeroconf(void) { - int enabled = getBoolConfigParam(CONF_ZEROCONF_ENABLED); - - if (enabled != -1 && enabled != 1) + if (!zeroconfEnabled) return; #ifdef HAVE_AVAHI |