input: remove unnecessary memcpy
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 5 Apr 2024 02:37:25 +0000 (11:37 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 9 Apr 2024 01:52:31 +0000 (10:52 +0900)
Change-Id: I1e833d3d94179cf77d701d6847f53fc236f014ed
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/bin/e_client.c
src/bin/e_comp_wl.c
src/bin/e_comp_wl_input.c
src/bin/e_keyrouter_wl.c

index b7f3024..dc60597 100644 (file)
@@ -2658,11 +2658,11 @@ e_client_visibility_get(E_Client *ec)
 static void
 _e_input_thread_client_visible_set(void *data)
 {
-   E_Input_Thread_Request_EClient_Data ec_data;
-   memcpy(&ec_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+   E_Input_Thread_Request_EClient_Data *ec_data = data;
+   EINA_SAFETY_ON_NULL_RETURN(ec_data);
 
-   INF("[input thread|%s] ec(%p), visible(%d)\n", __func__, ec_data.ec, ec_data.visible);
-   e_input_thread_client_visible_set(e_input_thread_client_get(ec_data.ec), ec_data.visible);
+   INF("[input thread|%s] ec(%p), visible(%d)\n", __func__, ec_data->ec, ec_data->visible);
+   e_input_thread_client_visible_set(e_input_thread_client_get(ec_data->ec), ec_data->visible);
 }
 
 EINTERN void
@@ -3237,11 +3237,11 @@ _e_client_convert_fullscreen_layer(int layer)
 static void
 _e_input_thread_client_new(void *data)
 {
-   E_Input_Thread_Request_EClient_Data ec_new_data;
-   memcpy(&ec_new_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+   E_Input_Thread_Request_EClient_Data *ec_data = data;
+   EINA_SAFETY_ON_NULL_RETURN(ec_data);
 
-   INF("[input thread|%s] ec(%p), surface(%p)\n", __func__, ec_new_data.ec, ec_new_data.wl_surface);
-   e_input_thread_client_new(ec_new_data.ec, ec_new_data.wl_surface);
+   INF("[input thread|%s] ec(%p), surface(%p)\n", __func__, ec_data->ec, ec_data->wl_surface);
+   e_input_thread_client_new(ec_data->ec, ec_data->wl_surface);
 }
 
 E_API E_Client *
@@ -7397,11 +7397,11 @@ e_client_shell_ping(E_Client *ec)
 static void
 _e_input_thread_client_icccm_name_set(void *data)
 {
-   E_Input_Thread_Request_EClient_Data ec_data;
-   memcpy(&ec_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+   E_Input_Thread_Request_EClient_Data *ec_data = data;
+   EINA_SAFETY_ON_NULL_RETURN(ec_data);
 
-   INF("[input thread|%s] ec(%p), name(%s)\n", __func__, ec_data.ec, ec_data.icccm_name);
-   e_input_thread_client_icccm_name_set(e_input_thread_client_get(ec_data.ec), ec_data.icccm_name);
+   INF("[input thread|%s] ec(%p), name(%s)\n", __func__, ec_data->ec, ec_data->icccm_name);
+   e_input_thread_client_icccm_name_set(e_input_thread_client_get(ec_data->ec), ec_data->icccm_name);
 }
 
 EINTERN void
@@ -7440,11 +7440,11 @@ e_client_icccm_name_get(E_Client *ec)
 static void
 _e_input_thread_client_netwm_name_set(void *data)
 {
-   E_Input_Thread_Request_EClient_Data ec_data;
-   memcpy(&ec_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+   E_Input_Thread_Request_EClient_Data *ec_data = data;
+   EINA_SAFETY_ON_NULL_RETURN(ec_data);
 
-   INF("[input thread|%s] ec(%p), name(%p)\n", __func__, ec_data.ec, ec_data.netwm_name);
-   e_input_thread_client_netwm_name_set(e_input_thread_client_get(ec_data.ec), ec_data.netwm_name);
+   INF("[input thread|%s] ec(%p), name(%p)\n", __func__, ec_data->ec, ec_data->netwm_name);
+   e_input_thread_client_netwm_name_set(e_input_thread_client_get(ec_data->ec), ec_data->netwm_name);
 }
 
 EINTERN void
@@ -7479,11 +7479,11 @@ e_client_netwm_name_get(E_Client *ec)
 static void
 _e_input_thread_client_icccm_title_set(void *data)
 {
-   E_Input_Thread_Request_EClient_Data ec_data;
-   memcpy(&ec_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+   E_Input_Thread_Request_EClient_Data *ec_data = data;
+   EINA_SAFETY_ON_NULL_RETURN(ec_data);
 
-   INF("[input thread|%s] ec(%p), title(%s)\n", __func__, ec_data.ec, ec_data.icccm_title);
-   e_input_thread_client_icccm_title_set(e_input_thread_client_get(ec_data.ec), ec_data.icccm_title);
+   INF("[input thread|%s] ec(%p), title(%s)\n", __func__, ec_data->ec, ec_data->icccm_title);
+   e_input_thread_client_icccm_title_set(e_input_thread_client_get(ec_data->ec), ec_data->icccm_title);
 }
 
 EINTERN void
@@ -7615,11 +7615,11 @@ e_client_hide(E_Client *ec)
 static void
 _e_input_thread_client_video_mode_set(void *data)
 {
-   E_Input_Thread_Request_EClient_Data ec_data;
-   memcpy(&ec_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+   E_Input_Thread_Request_EClient_Data *ec_data = data;
+   EINA_SAFETY_ON_NULL_RETURN(ec_data);
 
-   INF("[input thread|%s] ec(%p), is_video(%d)\n", __func__, ec_data.ec, ec_data.is_video);
-   e_input_thread_client_video_set(e_input_thread_client_get(ec_data.ec), ec_data.is_video);
+   INF("[input thread|%s] ec(%p), is_video(%d)\n", __func__, ec_data->ec, ec_data->is_video);
+   e_input_thread_client_video_set(e_input_thread_client_get(ec_data->ec), ec_data->is_video);
 }
 
 EINTERN void
index eaf5c97..cca9668 100644 (file)
@@ -2045,11 +2045,13 @@ static void
 _e_comp_wl_input_thread_focus_in(void *data)
 {
    struct wl_resource *surface = NULL;
-   memcpy(&surface, data, sizeof(struct wl_resource *));
    struct wl_resource *res;
    struct wl_client *wc;
    Eina_List *l;
 
+   EINA_SAFETY_ON_NULL_RETURN(data);
+   surface = *(struct wl_resource **)data;
+
    wc = wl_resource_get_client(surface);
 
    EINA_LIST_FOREACH(e_comp_input_key->kbd.resources, l, res)
@@ -2094,7 +2096,7 @@ e_comp_wl_feed_focus_in(E_Client *ec)
    struct wl_resource *surface = e_comp_wl_client_surface_get(ec);
    if (!surface) return;
 
-   INF("send focus in request to input thread. resource %p\n", surface);
+   INF("send focus in request to input thread. surface(%p)\n", surface);
    e_input_thread_safe_call(_e_comp_wl_input_thread_focus_in, (void *)&surface, sizeof(struct wl_resource *));
 
    ec->comp_data->on_focus_timer =
@@ -2122,7 +2124,9 @@ _e_comp_wl_input_thread_focus_out(void *data)
    Eina_List *l, *ll;
    double t;
 
-   memcpy(&surface, data, sizeof(struct wl_resource *));
+   EINA_SAFETY_ON_NULL_RETURN(data);
+
+   surface = *(struct wl_resource **)data;
 
    /* update keyboard modifier state */
    wl_array_for_each(k, &e_comp_input_key->kbd.keys)
@@ -2168,7 +2172,7 @@ _e_comp_wl_evas_cb_focus_out(void *data, Evas *evas EINA_UNUSED, Evas_Object *ob
      _e_comp_wl_client_priority_normal(ec);
 
    struct wl_resource *surface = e_comp_wl_client_surface_get(ec);
-   INF("send focus out request to input thread. resource %p\n", surface);
+   INF("send focus out request to input thread. surface(%p)\n", surface);
    e_input_thread_safe_call(_e_comp_wl_input_thread_focus_out, (void *)&surface, sizeof(struct wl_resource *));
 }
 
@@ -3256,10 +3260,10 @@ _e_comp_wl_surface_render_stop(E_Client *ec)
 static void
 _e_input_thread_client_free(void *data)
 {
-   E_Input_Thread_Request_EClient_Data ec_free_data;
-   memcpy(&ec_free_data, data, sizeof(E_Input_Thread_Request_EClient_Data));
+   E_Input_Thread_Request_EClient_Data *ec_data = data;
+   EINA_SAFETY_ON_NULL_RETURN(ec_data);
 
-   INF("[input thread|e_client_free] ec: %p, surface: %p\n", ec_free_data.ec, ec_free_data.wl_surface);
+   INF("[input thread|%s] ec: %p, surface: %p\n", __func__, ec_data->ec, ec_data->wl_surface);
 }
 
 EINTERN void
index baecd15..b43fcec 100644 (file)
@@ -317,9 +317,11 @@ _e_comp_wl_input_thread_cb_keyboard_unbind(void *data)
 {
    Eina_List *l, *ll;
    struct wl_resource *res;
-   struct wl_resource *resource;
+   struct wl_resource *resource = NULL;
+
+   EINA_SAFETY_ON_NULL_RETURN(data);
 
-   memcpy(&resource, data, sizeof(struct wl_resource *));
+   resource = *(struct wl_resource **)data;
 
    e_comp_input_key->kbd.resources =
      eina_list_remove(e_comp_input_key->kbd.resources, resource);
@@ -333,7 +335,7 @@ _e_comp_wl_input_thread_cb_keyboard_unbind(void *data)
 static void
 _e_comp_wl_input_cb_keyboard_unbind(struct wl_resource *resource)
 {
-   INF("[keyboard unbind] resource %p\n", resource);
+   INF("[keyboard unbind] resource(%p)\n", resource);
    e_input_thread_safe_call(_e_comp_wl_input_thread_cb_keyboard_unbind, &resource, sizeof(struct wl_resource *));
 }
 
@@ -380,12 +382,12 @@ _e_comp_wl_input_thread_cb_keyboard_get(void *data)
    E_Client *focused;
    struct wl_resource *res;
 
-   E_Input_Thread_Request_Keyboard_Get_Data keyboard_get_data;
-   memcpy(&keyboard_get_data, data, sizeof(E_Input_Thread_Request_Keyboard_Get_Data));
+   E_Input_Thread_Request_Keyboard_Get_Data *keyboard_get_data = data;
+   EINA_SAFETY_ON_NULL_RETURN(keyboard_get_data);
 
-   INF("[input thread|keyboard_get] resource: %p, client : %p\n", keyboard_get_data.resource, keyboard_get_data.client);
+   INF("[input thread|%s] resource(%p), client(%p)\n", __func__, keyboard_get_data->resource, keyboard_get_data->client);
 
-   res = keyboard_get_data.resource;
+   res = keyboard_get_data->resource;
 
    e_comp_input_key->kbd.resources =
      eina_list_append(e_comp_input_key->kbd.resources, res);
@@ -408,7 +410,7 @@ _e_comp_wl_input_thread_cb_keyboard_get(void *data)
    struct wl_resource *surface = e_comp_wl_client_surface_get(focused);
    if (!surface) return;
 
-   if (keyboard_get_data.client != wl_resource_get_client(surface)) return;
+   if (keyboard_get_data->client != wl_resource_get_client(surface)) return;
    e_comp_input_key->kbd.focused = eina_list_append(e_comp_input_key->kbd.focused, res);
 
    e_comp_wl_input_keyboard_enter_send(surface);
@@ -441,7 +443,6 @@ _e_comp_wl_input_cb_keyboard_get(struct wl_client *client, struct wl_resource *r
    keyboard_get_data.resource = res;
    keyboard_get_data.client = client;
 
-   INF("[keyboard_get] resource: %p, client : %p\n", keyboard_get_data.resource, keyboard_get_data.client);
    e_input_thread_safe_call(_e_comp_wl_input_thread_cb_keyboard_get, &keyboard_get_data, sizeof(E_Input_Thread_Request_Keyboard_Get_Data));
 }
 
@@ -1835,9 +1836,11 @@ e_comp_wl_input_pointer_enabled_set(Eina_Bool enabled)
 static void
 _e_comp_wl_input_thread_cb_keyboard_enabled_set(void *data)
 {
-   Eina_Bool enabled = EINA_FALSE;
+   Eina_Bool enabled;
+   EINA_SAFETY_ON_NULL_RETURN(data);
+
+   enabled = *(Eina_Bool *)data;
 
-   memcpy(&enabled, data, sizeof(Eina_Bool));
    e_comp_input_key->kbd.enabled = !!enabled;
 }
 
index e86c8d7..ad19e36 100644 (file)
@@ -222,34 +222,25 @@ static void
 _e_keyrouter_input_thread_keygrab_set(void *data)
 {
    int res = 0;
-
-   E_Input_Thread_Request_Keygrab_Data keygrab_data;
-   memcpy(&keygrab_data, data, sizeof(E_Input_Thread_Request_Keygrab_Data));
+   E_Input_Thread_Request_Keygrab_Data *keygrab_data = data;
+   EINA_SAFETY_ON_NULL_RETURN(keygrab_data);
 
    TRACE_INPUT_BEGIN(_e_keyrouter_cb_keygrab_set);
 
-   res = e_keyrouter_keygrab_set(keygrab_data.client, keygrab_data.surface, keygrab_data.key, keygrab_data.mode);
+   res = e_keyrouter_keygrab_set(keygrab_data->client, keygrab_data->surface, keygrab_data->key, keygrab_data->mode);
 
    TRACE_INPUT_END();
 
    if (res == TIZEN_KEYROUTER_ERROR_NONE)
      {
-        if (keygrab_data.mode == TIZEN_KEYROUTER_MODE_EXCLUSIVE)
-          {
-             KLINF("Success to %d key %s grab request (wl_client: %p, wl_surface: %p, pid: %d)", keygrab_data.key, e_keyrouter_mode_to_string(keygrab_data.mode),
-                keygrab_data.client, keygrab_data.surface, e_keyrouter_util_get_pid(keygrab_data.client, keygrab_data.surface));
-          }
-        else
-          {
-             KLDBG("Success to %d key %s grab request (wl_client: %p, wl_surface: %p, pid: %d)", keygrab_data.key, e_keyrouter_mode_to_string(keygrab_data.mode),
-                keygrab_data.client, keygrab_data.surface, e_keyrouter_util_get_pid(keygrab_data.client, keygrab_data.surface));
-          }
+        KLINF("Success to %d key %s grab request (wl_client: %p, wl_surface: %p, pid: %d)", keygrab_data->key, e_keyrouter_mode_to_string(keygrab_data->mode),
+              keygrab_data->client, keygrab_data->surface, e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface));
      }
    else
-     KLINF("Failed to %d key %s grab request (wl_client: %p, wl_surface: %p, pid: %d): res: %d", keygrab_data.key, e_keyrouter_mode_to_string(keygrab_data.mode),
-        keygrab_data.client, keygrab_data.surface, e_keyrouter_util_get_pid(keygrab_data.client, keygrab_data.surface), res);
+     KLINF("Failed to %d key %s grab request (wl_client: %p, wl_surface: %p, pid: %d): res: %d", keygrab_data->key, e_keyrouter_mode_to_string(keygrab_data->mode),
+        keygrab_data->client, keygrab_data->surface, e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface), res);
 
-   tizen_keyrouter_send_keygrab_notify(keygrab_data.resource, keygrab_data.surface, keygrab_data.key, keygrab_data.mode, res);
+   tizen_keyrouter_send_keygrab_notify(keygrab_data->resource, keygrab_data->surface, keygrab_data->key, keygrab_data->mode, res);
 }
 
 /* tizen_keyrouter_set_keygrab request handler */
@@ -274,21 +265,21 @@ static void
 _e_keyrouter_input_thread_keygrab_unset(void *data)
 {
    int res = 0;
-   E_Input_Thread_Request_Keygrab_Data keygrab_data;
-   memcpy(&keygrab_data, data, sizeof(E_Input_Thread_Request_Keygrab_Data));
+   E_Input_Thread_Request_Keygrab_Data *keygrab_data = data;
+   EINA_SAFETY_ON_NULL_RETURN(keygrab_data);
 
-   res = e_keyrouter_keygrab_unset(keygrab_data.client, keygrab_data.surface, keygrab_data.key);
+   res = e_keyrouter_keygrab_unset(keygrab_data->client, keygrab_data->surface, keygrab_data->key);
 
    TRACE_INPUT_END();
 
    if (res == TIZEN_KEYROUTER_ERROR_NONE)
-     KLDBG("Success to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d)", keygrab_data.key, keygrab_data.client, keygrab_data.surface,
-           e_keyrouter_util_get_pid(keygrab_data.client, keygrab_data.surface));
+     KLDBG("Success to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d)", keygrab_data->key, keygrab_data->client, keygrab_data->surface,
+           e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface));
    else
-     KLINF("Failed to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d): res: %d", keygrab_data.key, keygrab_data.client, keygrab_data.surface,
-           e_keyrouter_util_get_pid(keygrab_data.client, keygrab_data.surface), res);
+     KLINF("Failed to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d): res: %d", keygrab_data->key, keygrab_data->client, keygrab_data->surface,
+           e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface), res);
 
-   tizen_keyrouter_send_keygrab_notify(keygrab_data.resource, keygrab_data.surface, keygrab_data.key, TIZEN_KEYROUTER_MODE_NONE, res);
+   tizen_keyrouter_send_keygrab_notify(keygrab_data->resource, keygrab_data->surface, keygrab_data->key, TIZEN_KEYROUTER_MODE_NONE, res);
 }
 
 /* tizen_keyrouter unset_keygrab request handler */