Add crc32 to database_info

This commit is contained in:
twinaphex 2015-02-02 02:09:26 +01:00
parent 2b0cefee0d
commit d2a5dd32c2
3 changed files with 30 additions and 1 deletions

View File

@ -159,6 +159,25 @@ database_info_list_t *database_info_list_new(const char *rdb_path, const char *q
if (!strcmp(key->string.buff, "analog"))
db_info->analog_supported = val->uint_;
if (!strcmp(key->string.buff, "crc"))
{
unsigned i;
db_info->crc32 = (char*)calloc(val->binary.len, sizeof(unsigned char));
if (db_info->crc32)
{
char crc32[PATH_MAX_LENGTH];
for (i = 0; i < val->binary.len; i++)
{
char crc32_cat[PATH_MAX_LENGTH];
snprintf(crc32_cat, sizeof(crc32_cat), "%02X", (unsigned char)val->binary.buff[i]);
strlcat(crc32, crc32_cat, sizeof(crc32));
}
strlcpy(db_info->crc32, crc32, sizeof(db_info->crc32));
}
}
}
i++;
}
@ -216,6 +235,8 @@ void database_info_list_free(database_info_list_t *database_info_list)
free(info->esrb_rating);
if (info->bbfc_rating)
free(info->bbfc_rating);
if (info->crc32)
free(info->crc32);
}
free(database_info_list->list);

View File

@ -40,6 +40,7 @@ typedef struct
char *pegi_rating;
char *cero_rating;
char *enhancement_hw;
char *crc32;
unsigned edge_magazine_rating;
unsigned edge_magazine_issue;
unsigned max_users;

View File

@ -777,7 +777,7 @@ static int create_string_list_rdb_entry_string(const char *desc, const char *lab
return 0;
}
static int create_string_list_rdb_entry_int(const char *desc, const char *label,
static uint32_t create_string_list_rdb_entry_int(const char *desc, const char *label,
int actual_int, const char *path, file_list_t *list)
{
char tmp[PATH_MAX_LENGTH];
@ -985,6 +985,13 @@ static int deferred_push_rdb_entry_detail(void *data, void *userdata,
(db_info_entry->rumble_supported == -1) ? "N/A" : "false");
menu_list_push(list, tmp, "rdb_entry_rumble",
0, 0);
if (db_info_entry->crc32)
{
if (create_string_list_rdb_entry_string("CRC32 Checksum",
"rdb_entry_crc32", db_info_entry->crc32,
path, list) == -1)
return -1;
}
}
if (db_info->count < 1)