diff --git a/src/configuration.c b/src/configuration.c index 8c5aafd..b5832d7 100644 --- a/src/configuration.c +++ b/src/configuration.c @@ -36,10 +36,10 @@ parse_configfile(char* config_path, Connection* conn) }; mapconf(root, rootmaps, sizeof(rootmaps) / sizeof(*rootmaps)); - // Timeout is saved as a time_t (long) - int* tmp = NULL; - config_setting_lookup_int(root, "timeout", tmp); - if (tmp != NULL) conn->data.timeout = *tmp; + // Timeout is saved as a time_t (long) and may not be negative, 0 is default (unset) + signed int tmp = -1; + config_setting_lookup_int(root, "timeout", &tmp); + if (tmp > 0) conn->data.timeout = tmp; // Channels are a array config_setting_t* chans;