Create database_info_iterate_crc_lookup

This commit is contained in:
twinaphex 2015-05-25 03:20:43 +02:00
parent ddc0fad327
commit befa2f111c
2 changed files with 16 additions and 2 deletions

View File

@ -41,6 +41,7 @@ enum database_type
{ {
DATABASE_TYPE_NONE = 0, DATABASE_TYPE_NONE = 0,
DATABASE_TYPE_ITERATE, DATABASE_TYPE_ITERATE,
DATABASE_TYPE_CRC_LOOKUP,
}; };
typedef struct typedef struct

View File

@ -80,11 +80,11 @@ static int database_info_iterate_playlist(
#ifdef HAVE_ZLIB #ifdef HAVE_ZLIB
db_state->crc = zlib_crc32_calculate(db_state->buf, ret); db_state->crc = zlib_crc32_calculate(db_state->buf, ret);
RARCH_LOG("CRC32: 0x%x .\n", (unsigned)db_state->crc);
#endif #endif
db->type = DATABASE_TYPE_CRC_LOOKUP;
return 1;
} }
return 0; return 0;
} }
@ -98,6 +98,14 @@ static int database_info_iterate_next(
return -1; return -1;
} }
static int database_info_iterate_crc_lookup(
database_state_handle_t *db_state,
database_info_handle_t *db)
{
RARCH_LOG("CRC32: 0x%x .\n", (unsigned)db_state->crc);
return 0;
}
static int database_info_iterate(database_state_handle_t *state, database_info_handle_t *db) static int database_info_iterate(database_state_handle_t *state, database_info_handle_t *db)
{ {
const char *name = db ? db->list->elems[db->list_ptr].data : NULL; const char *name = db ? db->list->elems[db->list_ptr].data : NULL;
@ -114,6 +122,8 @@ static int database_info_iterate(database_state_handle_t *state, database_info_h
break; break;
case DATABASE_TYPE_ITERATE: case DATABASE_TYPE_ITERATE:
return database_info_iterate_playlist(state, db, name); return database_info_iterate_playlist(state, db, name);
case DATABASE_TYPE_CRC_LOOKUP:
return database_info_iterate_crc_lookup(state, db);
} }
return 0; return 0;
@ -188,7 +198,10 @@ void rarch_main_data_db_iterate(bool is_thread, void *data)
break; break;
case DATABASE_STATUS_ITERATE: case DATABASE_STATUS_ITERATE:
if (database_info_iterate(&runloop->db.state, db) == 0) if (database_info_iterate(&runloop->db.state, db) == 0)
{
db->status = DATABASE_STATUS_ITERATE_NEXT; db->status = DATABASE_STATUS_ITERATE_NEXT;
db->type = DATABASE_TYPE_ITERATE;
}
break; break;
case DATABASE_STATUS_ITERATE_NEXT: case DATABASE_STATUS_ITERATE_NEXT:
if (database_info_iterate_next(db) == 0) if (database_info_iterate_next(db) == 0)