+ /* deal with includes */
+ if (!strcmp(section, "includes")) {
+ static const char *include_error_beg = "failed to open file `";
+ static const char *include_error_end = "' for inclusion";
+ fs_file_t *file = fs_file_open(value, "r");
+ found = true;
+ if (!file) {
+ vec_append(error, strlen(include_error_beg), include_error_beg);
+ vec_append(error, strlen(value), value);
+ vec_append(error, strlen(include_error_end), include_error_end);
+ } else {
+ if (opts_ini_parse(file, &opts_ini_load, &error, parse_file) != 0)
+ found = false;
+ /* Change the file name */
+ mem_d(*parse_file);
+ *parse_file = util_strdup(value);
+ fs_file_close(file);
+ }
+ }
+