From 2fb77adb9f3fca7c4243ffe20df14c45d928fa96 Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 15 Jan 2021 21:52:18 -0800 Subject: common: common_funcs: Add a few more useful macros for kernel code. --- src/common/common_funcs.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/common/common_funcs.h b/src/common/common_funcs.h index 75f3027fb..49c36765d 100644 --- a/src/common/common_funcs.h +++ b/src/common/common_funcs.h @@ -101,6 +101,17 @@ __declspec(dllimport) void __stdcall DebugBreak(void); } \ } +#define R_SUCCEEDED(res) (res.IsSuccess()) + +/// Evaluates an expression that returns a result, and returns the result if it would fail. +#define R_TRY(res_expr) \ + { \ + const auto _tmp_r_try_rc = (res_expr); \ + if (_tmp_r_try_rc.IsError()) { \ + return _tmp_r_try_rc; \ + } \ + } + namespace Common { [[nodiscard]] constexpr u32 MakeMagic(char a, char b, char c, char d) { -- cgit v1.2.3