diff --git a/frontend/frontend_driver.c b/frontend/frontend_driver.c index 137b591771..ec18b0a98a 100644 --- a/frontend/frontend_driver.c +++ b/frontend/frontend_driver.c @@ -400,47 +400,46 @@ enum frontend_architecture frontend_driver_get_cpu_architecture(void) return frontend->get_architecture(); } -void frontend_driver_get_cpu_architecture_str( - char *frontend_architecture, size_t size) +const void *frontend_driver_get_cpu_architecture_str( + char *architecture, size_t size) { const frontend_ctx_driver_t *frontend = frontend_get_ptr(); enum frontend_architecture arch = frontend_driver_get_cpu_architecture(); - char architecture[PATH_MAX_LENGTH]; switch (arch) { case FRONTEND_ARCH_X86: - strlcpy(architecture, "x86", sizeof(architecture)); + strlcpy(architecture, "x86", size); break; case FRONTEND_ARCH_X86_64: - strlcpy(architecture, "x64", sizeof(architecture)); + strlcpy(architecture, "x64", size); break; case FRONTEND_ARCH_PPC: - strlcpy(architecture, "PPC", sizeof(architecture)); + strlcpy(architecture, "PPC", size); break; case FRONTEND_ARCH_ARM: - strlcpy(architecture, "ARM", sizeof(architecture)); + strlcpy(architecture, "ARM", size); break; case FRONTEND_ARCH_ARMV7: - strlcpy(architecture, "ARMv7", sizeof(architecture)); + strlcpy(architecture, "ARMv7", size); break; case FRONTEND_ARCH_ARMV8: - strlcpy(architecture, "ARMv8", sizeof(architecture)); + strlcpy(architecture, "ARMv8", size); break; case FRONTEND_ARCH_MIPS: - strlcpy(architecture, "MIPS", sizeof(architecture)); + strlcpy(architecture, "MIPS", size); break; case FRONTEND_ARCH_TILE: - strlcpy(architecture, "Tilera", sizeof(architecture)); + strlcpy(architecture, "Tilera", size); break; case FRONTEND_ARCH_NONE: default: - strlcpy(architecture, "N/A", sizeof(architecture)); + strlcpy(architecture, "N/A", size); break; } - snprintf(frontend_architecture, size, "%s %s", - frontend->ident, architecture); + + return frontend; } uint64_t frontend_driver_get_total_memory(void) diff --git a/frontend/frontend_driver.h b/frontend/frontend_driver.h index a630c829b0..b99a7a9adb 100644 --- a/frontend/frontend_driver.h +++ b/frontend/frontend_driver.h @@ -172,7 +172,7 @@ void frontend_driver_free(void); enum frontend_architecture frontend_driver_get_cpu_architecture(void); -void frontend_driver_get_cpu_architecture_str( +const void *frontend_driver_get_cpu_architecture_str( char *frontend_architecture, size_t size); environment_get_t frontend_driver_environment_get_ptr(void); diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 8a233614e0..7dcd17a30d 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -460,7 +460,8 @@ static unsigned menu_displaylist_parse_system_info(file_list_t *list) msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CPU_ARCHITECTURE), sizeof(cpu_text_str)); - rarch_get_cpu_architecture_string(cpu_arch_str, sizeof(cpu_arch_str)); + frontend_driver_get_cpu_architecture_str( + cpu_arch_str, sizeof(cpu_arch_str)); snprintf(cpu_str, sizeof(cpu_str), "%s %s", cpu_text_str, cpu_arch_str); diff --git a/network/netplay/netplay_discovery.c b/network/netplay/netplay_discovery.c index 3b5d67469b..d715b667b8 100644 --- a/network/netplay/netplay_discovery.c +++ b/network/netplay/netplay_discovery.c @@ -300,9 +300,14 @@ bool netplay_lan_ad_server(netplay_t *netplay) { char *p; char sub[NETPLAY_HOST_STR_LEN]; + char frontend_tmp[NETPLAY_HOST_STR_LEN]; char frontend[NETPLAY_HOST_STR_LEN]; + const frontend_ctx_driver_t *frontend_drv = + (const frontend_ctx_driver_t*) frontend_driver_get_cpu_architecture_str( - frontend, sizeof(frontend)); + frontend_tmp, sizeof(frontend_tmp)); + snprintf(frontend, sizeof(frontend), "%s %s", + frontend_drv->ident, frontend_tmp); p=strrchr(reply_addr,'.'); if (p) diff --git a/network/netplay/netplay_frontend.c b/network/netplay/netplay_frontend.c index a4cc4cf4bd..11aeafdea0 100644 --- a/network/netplay/netplay_frontend.c +++ b/network/netplay/netplay_frontend.c @@ -811,6 +811,8 @@ static void netplay_announce(void) { char buf[4600]; char frontend_architecture[PATH_MAX_LENGTH]; + char frontend_architecture_tmp[PATH_MAX_LENGTH]; + const frontend_ctx_driver_t *frontend_drv = NULL; char url[2048] = "http://lobby.libretro.com/add/"; char *username = NULL; char *corename = NULL; @@ -847,8 +849,11 @@ static void netplay_announce(void) net_http_urlencode(&subsystemname, "N/A"); } - frontend_driver_get_cpu_architecture_str( - frontend_architecture, sizeof(frontend_architecture)); + frontend_drv = + (const frontend_ctx_driver_t*)frontend_driver_get_cpu_architecture_str( + frontend_architecture_tmp, sizeof(frontend_architecture_tmp)); + snprintf(frontend_architecture, sizeof(frontend_architecture), "%s %s", + frontend_drv->ident, frontend_architecture_tmp); #ifdef HAVE_DISCORD if(discord_is_ready()) diff --git a/retroarch.c b/retroarch.c index dc50c86ff7..0fd68616de 100644 --- a/retroarch.c +++ b/retroarch.c @@ -27848,48 +27848,6 @@ void retroarch_force_video_driver_fallback(const char *driver) exit(1); } -void rarch_get_cpu_architecture_string(char *cpu_arch_str, size_t len) -{ - enum frontend_architecture arch = frontend_driver_get_cpu_architecture(); - - if (!cpu_arch_str || !len) - return; - - switch (arch) - { - case FRONTEND_ARCH_X86: - strlcpy(cpu_arch_str, "x86", len); - break; - case FRONTEND_ARCH_X86_64: - strlcpy(cpu_arch_str, "x64", len); - break; - case FRONTEND_ARCH_PPC: - strlcpy(cpu_arch_str, "PPC", len); - break; - case FRONTEND_ARCH_ARM: - strlcpy(cpu_arch_str, "ARM", len); - break; - case FRONTEND_ARCH_ARMV7: - strlcpy(cpu_arch_str, "ARMv7", len); - break; - case FRONTEND_ARCH_ARMV8: - strlcpy(cpu_arch_str, "ARMv8", len); - break; - case FRONTEND_ARCH_MIPS: - strlcpy(cpu_arch_str, "MIPS", len); - break; - case FRONTEND_ARCH_TILE: - strlcpy(cpu_arch_str, "Tilera", len); - break; - case FRONTEND_ARCH_NONE: - default: - strlcpy(cpu_arch_str, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE), - len); - break; - } -} - void rarch_log_file_init(void) { char log_directory[PATH_MAX_LENGTH]; diff --git a/retroarch.h b/retroarch.h index 6a2079dbe8..1aa3c396e6 100644 --- a/retroarch.h +++ b/retroarch.h @@ -386,8 +386,6 @@ struct retro_system_info *runloop_get_libretro_system_info(void); void retroarch_force_video_driver_fallback(const char *driver); -void rarch_get_cpu_architecture_string(char *cpu_arch_str, size_t len); - void rarch_log_file_init(void); void rarch_log_file_deinit(void);