From b4cdad1a6f9e372c9bc559fa7dd412fb7a7d7e50 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 17 Jan 2017 19:43:19 +0100 Subject: [PATCH] Cleanups --- input/input_driver.c | 13 ++++++++++--- input/input_remote.c | 15 +++++++-------- input/input_remote.h | 6 +++--- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/input/input_driver.c b/input/input_driver.c index 2003087627..aad9b2a9cb 100644 --- a/input/input_driver.c +++ b/input/input_driver.c @@ -315,7 +315,8 @@ void input_poll(void) #ifdef HAVE_NETWORKGAMEPAD if (input_driver_remote) - input_remote_poll(input_driver_remote); + input_remote_poll(input_driver_remote, + settings->input.max_users); #endif } @@ -1184,7 +1185,12 @@ void input_driver_deinit_remote(void) { #ifdef HAVE_NETWORKGAMEPAD if (input_driver_remote) - input_remote_free(input_driver_remote); + { + settings_t *settings = config_get_ptr(); + + input_remote_free(input_driver_remote, + settings->input.max_users); + } input_driver_remote = NULL; #endif } @@ -1198,7 +1204,8 @@ bool input_driver_init_remote(void) return false; input_driver_remote = input_remote_new( - settings->network_remote_base_port); + settings->network_remote_base_port, + settings->input.max_users); if (input_driver_remote) return true; diff --git a/input/input_remote.c b/input/input_remote.c index 5523e24dd3..09d7b916db 100644 --- a/input/input_remote.c +++ b/input/input_remote.c @@ -120,7 +120,7 @@ error: } #endif -input_remote_t *input_remote_new(uint16_t port) +input_remote_t *input_remote_new(uint16_t port, unsigned max_users) { unsigned user; #if defined(HAVE_NETWORKING) && defined(HAVE_NETWORKGAMEPAD) @@ -135,7 +135,7 @@ input_remote_t *input_remote_new(uint16_t port) (void)port; #if defined(HAVE_NETWORKING) && defined(HAVE_NETWORKGAMEPAD) - for(user = 0; user < settings->input.max_users; user ++) + for(user = 0; user < max_users; user ++) { handle->net_fd[user] = -1; if(settings->network_remote_enable_user[user]) @@ -148,18 +148,17 @@ input_remote_t *input_remote_new(uint16_t port) #if defined(HAVE_NETWORKING) && defined(HAVE_NETWORKGAMEPAD) error: - input_remote_free(handle); + input_remote_free(handle, max_users); return NULL; #endif } -void input_remote_free(input_remote_t *handle) +void input_remote_free(input_remote_t *handle, unsigned max_users) { unsigned user; #if defined(HAVE_NETWORKING) && defined(HAVE_NETWORKGAMEPAD) - settings_t *settings = config_get_ptr(); - for(user = 0; user < settings->input.max_users; user ++) + for(user = 0; user < max_users; user ++) socket_close(handle->net_fd[user]); #endif @@ -229,13 +228,13 @@ bool input_remote_key_pressed(int key, unsigned port) return (ol_state->buttons[port] & (UINT64_C(1) << key)); } -void input_remote_poll(input_remote_t *handle) +void input_remote_poll(input_remote_t *handle, unsigned max_users) { unsigned user; settings_t *settings = config_get_ptr(); input_remote_state_t *ol_state = input_remote_get_state_ptr(); - for(user = 0; user < settings->input.max_users; user++) + for(user = 0; user < max_users; user++) { if (settings->network_remote_enable_user[user]) { diff --git a/input/input_remote.h b/input/input_remote.h index 605cde065b..9c8b1341cf 100644 --- a/input/input_remote.h +++ b/input/input_remote.h @@ -30,11 +30,11 @@ RETRO_BEGIN_DECLS typedef struct input_remote input_remote_t; -input_remote_t *input_remote_new(uint16_t port); +input_remote_t *input_remote_new(uint16_t port, unsigned max_users); -void input_remote_free(input_remote_t *handle); +void input_remote_free(input_remote_t *handle, unsigned max_users); -void input_remote_poll(input_remote_t *handle); +void input_remote_poll(input_remote_t *handle, unsigned max_users); bool input_remote_key_pressed(int key, unsigned port);