summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Shiyan <shc_work@mail.ru>2014-02-03 13:40:21 +0400
committerMarc Kleine-Budde <mkl@pengutronix.de>2014-02-06 11:45:55 +0100
commit24500fcaca7e7791187154bf03fbde5e7ecbe350 (patch)
treeda69d351cb15b80878a4ec970af32a39e7eb069e
parent9a28d6918380e5dc5ba4e81cb5a4f4b0622f59b3 (diff)
downloadlibsocketcan-24500fcaca7e7791187154bf03fbde5e7ecbe350.tar.gz
libsocketcan-24500fcaca7e7791187154bf03fbde5e7ecbe350.tar.xz
libsocketcan: Fix return value for get{set}_link() function
This patch makes return value negative when open_nl_sock() function fail and removes excess labels. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r--src/libsocketcan.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/src/libsocketcan.c b/src/libsocketcan.c
index 7a523d2..02714ae 100644
--- a/src/libsocketcan.c
+++ b/src/libsocketcan.c
@@ -508,20 +508,15 @@ static int do_get_nl_link(int fd, __u8 acquire, const char *name, void *res)
*/
static int get_link(const char *name, __u8 acquire, void *res)
{
- int fd;
- int err = -1;
+ int err, fd;
fd = open_nl_sock();
if (fd < 0)
- goto err_out;
+ return -1;
err = do_get_nl_link(fd, acquire, name, res);
- if (err < 0)
- goto close_out;
-
-close_out:
close(fd);
-err_out:
+
return err;
}
@@ -643,20 +638,15 @@ static int do_set_nl_link(int fd, __u8 if_state, const char *name,
*/
static int set_link(const char *name, __u8 if_state, struct req_info *req_info)
{
- int fd;
- int err = 0;
+ int err, fd;
fd = open_nl_sock();
if (fd < 0)
- goto err_out;
+ return -1;
err = do_set_nl_link(fd, if_state, name, req_info);
- if (err < 0)
- goto close_out;
-
-close_out:
close(fd);
-err_out:
+
return err;
}