+ if (ret >= maxconfig || ret < 0 || setting == NULL)
+ return -1; /* Required */
+ chdesc->name = config_setting_get_string(setting);
+
+ ret = snprintf(configstr, maxconfig, "channels.[%d].parent", index);
+ setting = config_lookup(&configuration, configstr);
+ if (ret >= maxconfig || ret < 0 || setting == NULL)
+ return -1; /* Required */
+ chdesc->parent = config_setting_get_string(setting);
+
+ ret = snprintf(configstr, maxconfig, "channels.[%d].description", index);
+ setting = config_lookup(&configuration, configstr);
+ if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
+ chdesc->description = NULL;
+ else
+ chdesc->description = config_setting_get_string(setting);
+
+ ret = snprintf(configstr, maxconfig, "channels.[%d].password", index);
+ setting = config_lookup(&configuration, configstr);
+ if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
+ chdesc->password = NULL;
+ else
+ chdesc->password = config_setting_get_string(setting);
+
+ ret = snprintf(configstr, maxconfig, "channels.[%d].noenter", index);
+ setting = config_lookup(&configuration, configstr);
+ if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
+ chdesc->noenter = false;
+ else
+ chdesc->noenter = config_setting_get_bool(setting);
+
+ ret = snprintf(configstr, maxconfig, "channels.[%d].silent", index);
+ setting = config_lookup(&configuration, configstr);
+ if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
+ chdesc->silent = false;
+ else
+ chdesc->silent = config_setting_get_bool(setting);
+
+ ret = snprintf(configstr, maxconfig, "channels.[%d].position", index);
+ setting = config_lookup(&configuration, configstr);
+ if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
+ chdesc->position = 0;
+ else
+ chdesc->position = config_setting_get_int(setting);
+
+ return 0;
+}
+
+int Conf_getNextChannelLink(conf_channel_link_t *chlink, int index)
+{
+ config_setting_t *setting = NULL;
+ int maxconfig = 64, ret = 0;
+ char configstr[maxconfig];
+
+ ret = snprintf(configstr, maxconfig, "channel_links.[%d].source", index);