From 052738b8f422060a09a7f5eaadc6b1c19fbcc61d Mon Sep 17 00:00:00 2001 From: Paul LeoNerd Evans Date: Fri, 20 Jan 2012 17:00:09 +0000 Subject: Allow {start,stop}_driver to fail, abort constructor, have driver-ti try to write the entire start/stop string or error out on -1 --- termkey.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'termkey.c') diff --git a/termkey.c b/termkey.c index a66d951..d322a93 100644 --- a/termkey.c +++ b/termkey.c @@ -318,7 +318,8 @@ static TermKey *termkey_new_full(int fd, int flags, size_t buffsize, int waittim struct TermKeyDriverNode *p; for(p = tk->drivers; p; p = p->next) if(p->driver->start_driver) - (*p->driver->start_driver)(tk, p->info); + if(!(*p->driver->start_driver)(tk, p->info)) + goto abort_free_drivers; #ifdef DEBUG fprintf(stderr, "Drivers started; termkey instance %p is ready\n", tk); -- cgit v1.2.3-54-g00ecf