diff options
author | Tom Gundersen <teg@jklm.no> | 2015-04-10 20:39:43 +0200 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2015-04-16 16:47:23 +0100 |
commit | aa02962840e10fa7d052760b98a5c092dd0990e1 (patch) | |
tree | 1727b9e7fe7fe440b3d6b7d3f0b27a19594c9ba5 /src/shared | |
parent | 2d0c1561340efff3265fe89b05eae4ee8f4037a7 (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/shared')
-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 7f89951d62..7ae1ed80b6 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))) |