From 9c96fbd40e911d2834e948ded82c2fd4990fe84d Mon Sep 17 00:00:00 2001 From: Heydar Elahi Date: Sun, 13 Aug 2017 12:36:10 +0430 Subject: [PATCH] Omit goto usage For a more optimized code I've remove goto and used if-else statement --- src/flingfd.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/flingfd.c b/src/flingfd.c index 2adcda4..e61aca3 100644 --- a/src/flingfd.c +++ b/src/flingfd.c @@ -72,27 +72,27 @@ flingfd_t *flingfd_open(const char *path) { goto error; handle = (flingfd_t *)malloc(sizeof(flingfd_t)); - if (!handle) - goto error; - - handle->fd = fd; - handle->path = path_copy; - handle->is_bound = false; + if (!handle) { + int errsv = errno; - return handle; + if (fd != -1) + close(fd); -error:; - int errsv = errno; + free(path_copy); + free(handle); - if (fd != -1) - close(fd); + errno = errsv; - free(path_copy); - free(handle); + return NULL; + } + else { - errno = errsv; + handle->fd = fd; + handle->path = path_copy; + handle->is_bound = false; - return NULL; + return handle; + } } int flingfd_send(flingfd_t *handle, int fd) {