diff options
author | Tom Gundersen <teg@jklm.no> | 2015-04-10 20:39:43 +0200 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-03-14 08:01:57 +0100 |
commit | d6a6c7157af1ce285962f98f006a3f05bb7c11ef (patch) | |
tree | 45cce9e7e8b2c3a67f0117d0c0740f5d396d14cf /src | |
parent | 901cf821ac8c13c78e1acb884f59baf41316fb8f (diff) |
shared: move assert_return_errno() from libudev
This should not be used for any new code, as we don't set errno in new code,
but there are several legacy users, so let's keep it in shared.
Diffstat (limited to 'src')
-rw-r--r-- | src/shared/macro.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/shared/macro.h b/src/shared/macro.h index 7f89951d6..7ae1ed80b 100644 --- a/src/shared/macro.h +++ b/src/shared/macro.h @@ -256,6 +256,15 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) { } \ } while (false) +#define assert_return_errno(expr, r, err) \ + do { \ + if (_unlikely_(!(expr))) { \ + log_assert_failed_return(#expr, __FILE__, __LINE__, __PRETTY_FUNCTION__); \ + errno = err; \ + return (r); \ + } \ + } while (false) + #define PTR_TO_INT(p) ((int) ((intptr_t) (p))) #define INT_TO_PTR(u) ((void *) ((intptr_t) (u))) #define PTR_TO_UINT(p) ((unsigned int) ((uintptr_t) (p))) |