From e5aae24b3fef0048a33a682989935776f3415dc6 Mon Sep 17 00:00:00 2001 From: Kamen Mazdrashki Date: Fri, 12 Feb 2010 01:47:55 +0200 Subject: s4/net_drs: Utility macros for conditions checking --- source4/utils/net/drs/net_drs.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'source4/utils/net/drs/net_drs.h') diff --git a/source4/utils/net/drs/net_drs.h b/source4/utils/net/drs/net_drs.h index 5bca47d2c2..4aeeb6fa4f 100644 --- a/source4/utils/net/drs/net_drs.h +++ b/source4/utils/net/drs/net_drs.h @@ -24,6 +24,26 @@ #include "librpc/gen_ndr/ndr_drsuapi_c.h" + +/** + * Check for critical error + */ +#define NET_DRS_CHECK_GOTO(_condition,_label,_msg) \ + do { \ + if (!(_condition)) { \ + d_printf(__location__": "#_condition" - %s\n", _msg); \ + goto _label; \ + } \ + } while (0) + +/** + * check allocated memory macro + */ +#define NET_DRS_NOMEM_GOTO(_ptr,_label) \ + NET_DRS_CHECK_GOTO(_ptr, _label, "Not enough memory!") + + + /* net drs commands context */ struct net_drs_context { struct net_context *net_ctx; -- cgit