Browse Source

common: common_funcs: Add R_UNLESS_NOLOG for scenarios that should not log.

bunnei 5 năm trước cách đây
mục cha
commit
4577dcd5f9
1 tập tin đã thay đổi với 8 bổ sung0 xóa
  1. 8 0
      src/common/common_funcs.h

+ 8 - 0
src/common/common_funcs.h

@@ -104,6 +104,14 @@ __declspec(dllimport) void __stdcall DebugBreak(void);
         }                                                                                          \
     }
 
+/// Evaluates a boolean expression, and returns a result unless that expression is true.
+#define R_UNLESS_NOLOG(expr, res)                                                                  \
+    {                                                                                              \
+        if (!(expr)) {                                                                             \
+            return res;                                                                            \
+        }                                                                                          \
+    }
+
 #define R_SUCCEEDED(res) (res.IsSuccess())
 
 /// Evaluates an expression that returns a result, and returns the result if it would fail.