[PATCH libinput 2/9] path: split out creating a device into a helper function

Hans de Goede hdegoede at redhat.com
Mon Nov 24 00:49:12 PST 2014


Hi,

On 11/24/2014 01:46 AM, Peter Hutterer wrote:
> No functional changes
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

Looks good:

Reviewed-by: Hans de Goede <hdegoede at redhat.com>

Regards,

Hans

> ---
>   src/path.c | 57 ++++++++++++++++++++++++++++++++-------------------------
>   1 file changed, 32 insertions(+), 25 deletions(-)
>
> diff --git a/src/path.c b/src/path.c
> index f986afd..5900775 100644
> --- a/src/path.c
> +++ b/src/path.c
> @@ -236,6 +236,37 @@ path_input_destroy(struct libinput *input)
>
>   }
>
> +static struct libinput_device *
> +path_create_device(struct libinput *libinput,
> +		   const char *path)
> +{
> +	struct path_input *input = (struct path_input*)libinput;
> +	struct path_device *dev;
> +	struct libinput_device *device;
> +
> +	dev = zalloc(sizeof *dev);
> +	if (!dev)
> +		return NULL;
> +
> +	dev->path = strdup(path);
> +	if (!dev->path) {
> +		free(dev);
> +		return NULL;
> +	}
> +
> +	list_insert(&input->path_list, &dev->link);
> +
> +	device = path_device_enable(input, dev->path);
> +
> +	if (!device) {
> +		list_remove(&dev->link);
> +		free(dev->path);
> +		free(dev);
> +	}
> +
> +	return device;
> +}
> +
>   static const struct libinput_interface_backend interface_backend = {
>   	.resume = path_input_enable,
>   	.suspend = path_input_disable,
> @@ -275,36 +306,12 @@ LIBINPUT_EXPORT struct libinput_device *
>   libinput_path_add_device(struct libinput *libinput,
>   			 const char *path)
>   {
> -	struct path_input *input = (struct path_input*)libinput;
> -	struct path_device *dev;
> -	struct libinput_device *device;
> -
>   	if (libinput->interface_backend != &interface_backend) {
>   		log_bug_client(libinput, "Mismatching backends.\n");
>   		return NULL;
>   	}
>
> -	dev = zalloc(sizeof *dev);
> -	if (!dev)
> -		return NULL;
> -
> -	dev->path = strdup(path);
> -	if (!dev->path) {
> -		free(dev);
> -		return NULL;
> -	}
> -
> -	list_insert(&input->path_list, &dev->link);
> -
> -	device = path_device_enable(input, dev->path);
> -
> -	if (!device) {
> -		list_remove(&dev->link);
> -		free(dev->path);
> -		free(dev);
> -	}
> -
> -	return device;
> +	return path_create_device(libinput, path);
>   }
>
>   LIBINPUT_EXPORT void
>


More information about the wayland-devel mailing list