diff --git a/examples/read.c b/examples/read.c index 8e92910..db8dfbf 100644 --- a/examples/read.c +++ b/examples/read.c @@ -40,7 +40,7 @@ int main(int argc, char **argv) { perror("skipstone_link_recv()"); - skipstone_link_close(link); + skipstone_link_destroy(link); return 0; diff --git a/examples/test.c b/examples/test.c index 22feedb..85ca80f 100644 --- a/examples/test.c +++ b/examples/test.c @@ -159,13 +159,13 @@ int main(int argc, char **argv) { } } - skipstone_link_close(link); + skipstone_link_destroy(link); return 0; error_io: error_service_new: - skipstone_link_close(link); + skipstone_link_destroy(link); error_link_open: return 1; diff --git a/include/skipstone/link.h b/include/skipstone/link.h index a0fc539..fe49c67 100644 --- a/include/skipstone/link.h +++ b/include/skipstone/link.h @@ -8,7 +8,7 @@ typedef struct _skipstone_link skipstone_link; skipstone_link *skipstone_link_open(const char *device); -int skipstone_link_close(skipstone_link *link); +void skipstone_link_destroy(skipstone_link *link); int skipstone_link_fd(skipstone_link *link); diff --git a/src/link.c b/src/link.c index 7baf366..0270bfc 100644 --- a/src/link.c +++ b/src/link.c @@ -59,15 +59,11 @@ error_malloc_link: return NULL; } -int skipstone_link_close(skipstone_link *link) { - if (tcsetattr(link->fd, TCSANOW, &link->attrs) < 0) { - goto error_tcsetattr; - } +void skipstone_link_destroy(skipstone_link *link) { + (void)tcsetattr(link->fd, TCSANOW, &link->attrs); + (void)close(link->fd); - return close(link->fd); - -error_tcsetattr: - return -1; + free(link); } int skipstone_link_fd(skipstone_link *link) {