diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2014-11-19 15:26:40 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2014-11-25 16:32:37 +1000 |
commit | 5f703f48b07dcdc1a5457f9153bd74836e880a2e (patch) | |
tree | ffb64d418a0028aaf64b15938b1d953d246c1e0c | |
parent | 8d24cd530425f3860c4a55a987b9d74f029c8d91 (diff) | |
download | libinput-5f703f48b07dcdc1a5457f9153bd74836e880a2e.tar.gz |
path: split out creating a device into a helper function
No functional changes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
-rw-r--r-- | src/path.c | 57 |
1 files changed, 32 insertions, 25 deletions
@@ -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 |