From bb3a59f1eff2ad2ac203d063cb714189955bbc93 Mon Sep 17 00:00:00 2001 From: David Robillard <d@drobilla.net> Date: Thu, 1 Sep 2022 23:35:15 -0400 Subject: Factor out POSIX-style return pattern --- src/sem.c | 13 ++++++------- src/status.c | 6 ++++++ 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/sem.c b/src/sem.c index 325eaa4..d9aa6d1 100644 --- a/src/sem.c +++ b/src/sem.c @@ -136,20 +136,19 @@ zix_sem_timed_wait(ZixSem* sem, ZixStatus zix_sem_init(ZixSem* sem, unsigned initial) { - return sem_init(&sem->sem, 0, initial) ? zix_errno_status(errno) - : ZIX_STATUS_SUCCESS; + return zix_errno_status_if(sem_init(&sem->sem, 0, initial)); } ZixStatus zix_sem_destroy(ZixSem* sem) { - return sem_destroy(&sem->sem) ? zix_errno_status(errno) : ZIX_STATUS_SUCCESS; + return zix_errno_status_if(sem_destroy(&sem->sem)); } ZixStatus zix_sem_post(ZixSem* sem) { - return sem_post(&sem->sem) ? zix_errno_status(errno) : ZIX_STATUS_SUCCESS; + return zix_errno_status_if(sem_post(&sem->sem)); } ZixStatus @@ -160,7 +159,7 @@ zix_sem_wait(ZixSem* sem) // Interrupted, try again } - return r ? zix_errno_status(errno) : ZIX_STATUS_SUCCESS; + return zix_errno_status_if(r); } ZixStatus @@ -171,7 +170,7 @@ zix_sem_try_wait(ZixSem* sem) // Interrupted, try again } - return r ? zix_errno_status(errno) : ZIX_STATUS_SUCCESS; + return zix_errno_status_if(r); } ZixStatus @@ -195,7 +194,7 @@ zix_sem_timed_wait(ZixSem* sem, } } - return r ? zix_errno_status(errno) : ZIX_STATUS_SUCCESS; + return zix_errno_status_if(r); # endif } diff --git a/src/status.c b/src/status.c index 380d370..e6fbec8 100644 --- a/src/status.c +++ b/src/status.c @@ -37,6 +37,12 @@ zix_strerror(const ZixStatus status) return "Unknown error"; } +ZixStatus +zix_errno_status_if(const int r) +{ + return r ? zix_errno_status(errno) : ZIX_STATUS_SUCCESS; +} + ZixStatus zix_errno_status(const int e) { -- cgit v1.2.1