summaryrefslogtreecommitdiff
path: root/src/common/common_funcs.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-01-15 21:52:18 -0800
committerbunnei <bunneidev@gmail.com>2021-01-28 21:42:25 -0800
commit2fb77adb9f3fca7c4243ffe20df14c45d928fa96 (patch)
treebbf57df6171310eb2d7fde2ebd219a543581e3be /src/common/common_funcs.h
parent4dbf3f4880cac69db21cc8f18582814dc986c854 (diff)
common: common_funcs: Add a few more useful macros for kernel code.
Diffstat (limited to 'src/common/common_funcs.h')
-rw-r--r--src/common/common_funcs.h11
1 files changed, 11 insertions, 0 deletions
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) {