diff options
author | Marco Trevisan (TreviƱo) <mail@3v1n0.net> | 2024-04-17 18:29:52 +0200 |
---|---|---|
committer | Marco Trevisan <mail@3v1n0.net> | 2024-04-17 17:00:47 +0000 |
commit | 37ded921fd4066350f777a59af0cea616f4a4a98 (patch) | |
tree | 75c8443cc5483f15365478474ea9b1916e096c8d | |
parent | b7f3544e98c2dbbdf4a06d4fc934aabca1b06654 (diff) |
fpi-device: Simplify logic of fpi_device_task_return_data_free
The clear functions will do NULL checks already, so there's no need to
duplicate such effort
-rw-r--r-- | libfprint/fpi-device.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/libfprint/fpi-device.c b/libfprint/fpi-device.c index 1b9fa8f..8864fb7 100644 --- a/libfprint/fpi-device.c +++ b/libfprint/fpi-device.c @@ -1042,30 +1042,28 @@ fp_device_task_return_in_idle_cb (gpointer user_data) static void fpi_device_task_return_data_free (FpDeviceTaskReturnData *data) { - if (data->result) + switch (data->type) { - switch (data->type) - { - case FP_DEVICE_TASK_RETURN_INT: - case FP_DEVICE_TASK_RETURN_BOOL: - break; + case FP_DEVICE_TASK_RETURN_INT: + case FP_DEVICE_TASK_RETURN_BOOL: + break; - case FP_DEVICE_TASK_RETURN_OBJECT: - g_clear_object ((GObject **) &data->result); - break; + case FP_DEVICE_TASK_RETURN_OBJECT: + g_clear_object ((GObject **) &data->result); + break; - case FP_DEVICE_TASK_RETURN_PTR_ARRAY: - g_clear_pointer ((GPtrArray **) &data->result, g_ptr_array_unref); - break; + case FP_DEVICE_TASK_RETURN_PTR_ARRAY: + g_clear_pointer ((GPtrArray **) &data->result, g_ptr_array_unref); + break; - case FP_DEVICE_TASK_RETURN_ERROR: - g_clear_error ((GError **) &data->result); - break; + case FP_DEVICE_TASK_RETURN_ERROR: + g_clear_error ((GError **) &data->result); + break; - default: - g_assert_not_reached (); - } + default: + g_assert_not_reached (); } + g_object_unref (data->device); g_free (data); } |