From 9bcacd97df072cfc82be70a1b22dc100859c07f4 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Tue, 23 Oct 2018 10:10:57 +0200 Subject: [PATCH] lib: Require a callback for a number of async calls Otherwise the caller won't be able to call the appropriate _finish() calls when done. See https://gitlab.freedesktop.org/libfprint/libfprint/issues/119 for the long-term plan --- libfprint/fpi-async.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libfprint/fpi-async.c b/libfprint/fpi-async.c index 9180b87..aadbc41 100644 --- a/libfprint/fpi-async.c +++ b/libfprint/fpi-async.c @@ -62,6 +62,7 @@ API_EXPORTED int fp_async_dev_open(struct fp_dscv_dev *ddev, fp_dev_open_cb call int r; g_return_val_if_fail(ddev != NULL, -ENODEV); + g_return_val_if_fail (callback != NULL, -EINVAL); drv = ddev->drv; @@ -178,6 +179,7 @@ API_EXPORTED int fp_async_enroll_start(struct fp_dev *dev, g_return_val_if_fail(dev != NULL, -ENODEV); g_return_val_if_fail (fpi_poll_is_setup(), -EIO); + g_return_val_if_fail (callback != NULL, -EINVAL); drv = dev->drv; @@ -294,6 +296,7 @@ API_EXPORTED int fp_async_verify_start(struct fp_dev *dev, g_return_val_if_fail(dev != NULL, -ENODEV); g_return_val_if_fail (fpi_poll_is_setup(), -EIO); + g_return_val_if_fail (callback != NULL, -EINVAL); drv = dev->drv; @@ -428,6 +431,7 @@ API_EXPORTED int fp_async_identify_start(struct fp_dev *dev, g_return_val_if_fail(dev != NULL, -ENODEV); g_return_val_if_fail (fpi_poll_is_setup(), -EIO); + g_return_val_if_fail (callback != NULL, -EINVAL); drv = dev->drv; @@ -562,6 +566,7 @@ API_EXPORTED int fp_async_capture_start(struct fp_dev *dev, int unconditional, g_return_val_if_fail(dev != NULL, -ENODEV); g_return_val_if_fail (fpi_poll_is_setup(), -EIO); + g_return_val_if_fail (callback != NULL, -EINVAL); drv = dev->drv;