basic/errno-util: add helper to protect and set errno in one step

This pattern is used in a few places. Those are changed in this patch.
Subsequent patches will add more.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2022-10-10 09:12:21 +02:00
parent 6b7834fe5d
commit 50c5b991df
2 changed files with 7 additions and 6 deletions
+4
View File
@@ -22,6 +22,10 @@ static inline void _reset_errno_(int *saved_errno) {
_saved_errno_ = -1; \
} while (false)
#define LOCAL_ERRNO(value) \
PROTECT_ERRNO; \
errno = abs(value)
static inline int negative_errno(void) {
/* This helper should be used to shut up gcc if you know 'errno' is
* negative. Instead of "return -errno;", use "return negative_errno();"