From e967c93dad0fca3321e107916a897762011cc35e Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Mon, 4 Sep 2017 07:13:27 +0200 Subject: [PATCH] error: add return_error() and return_success() helper macros --- src/error.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/error.h b/src/error.h index 49af6b5..03683ea 100644 --- a/src/error.h +++ b/src/error.h @@ -12,4 +12,18 @@ errno_t we_map_win_error_to_errno(DWORD error); void we_set_win_error(DWORD error); void we_clear_win_error(void); +#define _return_error_helper(error, value) \ + do { \ + we_set_win_error(error); \ + return (value); \ + } while (0) + +#define return_error(value, ...) _return_error_helper(__VA_ARGS__ + 0, value) + +#define return_success(value) \ + do { \ + we_clear_win_error(); \ + return (value); \ + } while (0) + #endif /* ERROR_H_ */