swc

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.nihaljere.xyz/swc
Log | Files | Refs | README | LICENSE

commit e0d38d5879663e5b7d776badd3de82b3558a2d35
parent 439168087493c3296d5be729360834166c3893e5
Author: Michael Forney <mforney@mforney.org>
Date:   Fri, 13 Sep 2013 20:57:09 -0700

seat: Check if strdup succeeded

Diffstat:
Mlibswc/seat.c | 17++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/libswc/seat.c b/libswc/seat.c @@ -192,16 +192,19 @@ bool swc_seat_initialize(struct swc_seat * seat, struct udev * udev, seat->evdev_handler.axis = &handle_axis; seat->evdev_handler.relative_motion = &handle_relative_motion; + if (!seat->name) + goto error0; + if (!swc_data_device_initialize(&seat->data_device)) { printf("could not initialize data device\n"); - goto error_name; + goto error1; } if (!swc_keyboard_initialize(&seat->keyboard)) { printf("could not initialize keyboard\n"); - goto error_data_device; + goto error2; } wl_signal_add(&seat->keyboard.focus.event_signal, @@ -210,7 +213,7 @@ bool swc_seat_initialize(struct swc_seat * seat, struct udev * udev, if (!swc_pointer_initialize(&seat->pointer)) { printf("could not initialize pointer\n"); - goto error_keyboard; + goto error3; } wl_signal_add(&seat->data_device.event_signal, &seat->data_device_listener); @@ -222,13 +225,13 @@ bool swc_seat_initialize(struct swc_seat * seat, struct udev * udev, return true; - error_keyboard: + error3: swc_keyboard_finish(&seat->keyboard); - error_data_device: + error2: swc_data_device_finish(&seat->data_device); - error_name: + error1: free(seat->name); - error_base: + error0: return false; }