error: add return_error() and return_success() helper macros

This commit is contained in:
Bert Belder 2017-09-04 07:13:27 +02:00
parent f353ab429e
commit e967c93dad

View File

@ -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_ */