summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Trevisan (TreviƱo) <mail@3v1n0.net>2024-04-17 18:29:52 +0200
committerMarco Trevisan <mail@3v1n0.net>2024-04-17 17:00:47 +0000
commit37ded921fd4066350f777a59af0cea616f4a4a98 (patch)
tree75c8443cc5483f15365478474ea9b1916e096c8d
parentb7f3544e98c2dbbdf4a06d4fc934aabca1b06654 (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.c34
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);
}