Add crc32 to database_info
This commit is contained in:
parent
2b0cefee0d
commit
d2a5dd32c2
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue