diff --git a/core_info.c b/core_info.c index 7e1eff0d4c..d4407ea70b 100644 --- a/core_info.c +++ b/core_info.c @@ -140,6 +140,10 @@ core_info_list_t *core_info_list_new(const char *modules_path) if (config_get_string(core_info[i].data, "authors", &core_info[i].authors) && core_info[i].authors) core_info[i].authors_list = string_split(core_info[i].authors, "|"); + + if (config_get_string(core_info[i].data, "permissions", &core_info[i].permissions) && + core_info[i].permissions) + core_info[i].permissions_list = string_split(core_info[i].permissions, "|"); } if (!core_info[i].display_name) @@ -173,8 +177,10 @@ void core_info_list_free(core_info_list_t *core_info_list) free(info->display_name); free(info->supported_extensions); free(info->authors); + free(info->permissions); string_list_free(info->supported_extensions_list); string_list_free(info->authors_list); + string_list_free(info->permissions_list); config_file_free(info->data); for (j = 0; j < info->firmware_count; j++) diff --git a/core_info.h b/core_info.h index c9b44037e0..49a2984d2f 100644 --- a/core_info.h +++ b/core_info.h @@ -36,8 +36,10 @@ typedef struct { char *display_name; char *supported_extensions; char *authors; + char *permissions; struct string_list *supported_extensions_list; struct string_list *authors_list; + struct string_list *permissions_list; core_info_firmware_t *firmware; size_t firmware_count;