Don't use hashes

This commit is contained in:
twinaphex 2017-12-06 20:38:22 +01:00
parent d5b3104cfb
commit 4e9cb21e03
1 changed files with 58 additions and 63 deletions

121
driver.c
View File

@ -44,17 +44,6 @@
#include "retroarch.h" #include "retroarch.h"
#include "verbosity.h" #include "verbosity.h"
#define HASH_LOCATION_DRIVER 0x09189689U
#define HASH_CAMERA_DRIVER 0xf25db959U
#define HASH_MENU_DRIVER 0xd607fb05U
#define HASH_INPUT_DRIVER 0x4c087840U
#define HASH_INPUT_JOYPAD_DRIVER 0xab124146U
#define HASH_VIDEO_DRIVER 0x1805a5e7U
#define HASH_AUDIO_DRIVER 0x26594002U
#define HASH_AUDIO_RESAMPLER_DRIVER 0xedcba9ecU
#define HASH_RECORD_DRIVER 0x144cd2cfU
#define HASH_WIFI_DRIVER 0x64d7d17fU
/** /**
* find_driver_nonempty: * find_driver_nonempty:
* @label : string of driver type to be found. * @label : string of driver type to be found.
@ -72,62 +61,68 @@ static const void *find_driver_nonempty(const char *label, int i,
char *s, size_t len) char *s, size_t len)
{ {
const void *drv = NULL; const void *drv = NULL;
uint32_t hash = msg_hash_calculate(label);
switch (hash) if (string_is_equal(label, "camera_driver"))
{ {
case HASH_CAMERA_DRIVER: drv = camera_driver_find_handle(i);
drv = camera_driver_find_handle(i); if (drv)
if (drv) strlcpy(s, camera_driver_find_ident(i), len);
strlcpy(s, camera_driver_find_ident(i), len); }
break; else if (string_is_equal(label, "location_driver"))
case HASH_LOCATION_DRIVER: {
drv = location_driver_find_handle(i); drv = location_driver_find_handle(i);
if (drv) if (drv)
strlcpy(s, location_driver_find_ident(i), len); strlcpy(s, location_driver_find_ident(i), len);
break; }
case HASH_MENU_DRIVER:
#ifdef HAVE_MENU #ifdef HAVE_MENU
drv = menu_driver_find_handle(i); else if (string_is_equal(label, "menu_driver"))
if (drv) {
strlcpy(s, menu_driver_find_ident(i), len); drv = menu_driver_find_handle(i);
if (drv)
strlcpy(s, menu_driver_find_ident(i), len);
}
#endif #endif
break; else if (string_is_equal(label, "input_driver"))
case HASH_INPUT_DRIVER: {
drv = input_driver_find_handle(i); drv = input_driver_find_handle(i);
if (drv) if (drv)
strlcpy(s, input_driver_find_ident(i), len); strlcpy(s, input_driver_find_ident(i), len);
break; }
case HASH_INPUT_JOYPAD_DRIVER: else if (string_is_equal(label, "joypad_driver"))
drv = joypad_driver_find_handle(i); {
if (drv) drv = joypad_driver_find_handle(i);
strlcpy(s, joypad_driver_find_ident(i), len); if (drv)
break; strlcpy(s, joypad_driver_find_ident(i), len);
case HASH_VIDEO_DRIVER: }
drv = video_driver_find_handle(i); else if (string_is_equal(label, "video_driver"))
if (drv) {
strlcpy(s, video_driver_find_ident(i), len); drv = video_driver_find_handle(i);
break; if (drv)
case HASH_AUDIO_DRIVER: strlcpy(s, video_driver_find_ident(i), len);
drv = audio_driver_find_handle(i); }
if (drv) else if (string_is_equal(label, "audio_driver"))
strlcpy(s, audio_driver_find_ident(i), len); {
break; drv = audio_driver_find_handle(i);
case HASH_RECORD_DRIVER: if (drv)
drv = record_driver_find_handle(i); strlcpy(s, audio_driver_find_ident(i), len);
if (drv) }
strlcpy(s, record_driver_find_ident(i), len); else if (string_is_equal(label, "record_driver"))
break; {
case HASH_AUDIO_RESAMPLER_DRIVER: drv = record_driver_find_handle(i);
drv = audio_resampler_driver_find_handle(i); if (drv)
if (drv) strlcpy(s, record_driver_find_ident(i), len);
strlcpy(s, audio_resampler_driver_find_ident(i), len); }
break; else if (string_is_equal(label, "audio_resampler_driver"))
case HASH_WIFI_DRIVER: {
drv = wifi_driver_find_handle(i); drv = audio_resampler_driver_find_handle(i);
if (drv) if (drv)
strlcpy(s, wifi_driver_find_ident(i), len); strlcpy(s, audio_resampler_driver_find_ident(i), len);
break; }
else if (string_is_equal(label, "wifi_driver"))
{
drv = wifi_driver_find_handle(i);
if (drv)
strlcpy(s, wifi_driver_find_ident(i), len);
} }
return drv; return drv;