]> arthur.barton.de Git - netatalk.git/blobdiff - include/atalk/errchk.h
Fix unnamed union inside struct
[netatalk.git] / include / atalk / errchk.h
index 78e530a8e95227eac265a01e27dcdedbc7081216..ccc66eb6f4ac1a9ae7ff52a57c3291d219e3ed02 100644 (file)
 
 #define EC_INIT int ret = 0
 #define EC_STATUS(a) ret = (a)
+#define EC_EXIT_STATUS(a) do { ret = (a); goto cleanup; } while (0)
 #define EC_FAIL do { ret = -1; goto cleanup; } while (0)
+#define EC_FAIL_LOG(a, ...)                     \
+    do {               \
+        LOG(log_error, logtype_default, a, __VA_ARGS__);   \
+        ret = -1;      \
+        goto cleanup;  \
+    } while (0)
 #define EC_CLEANUP cleanup
 #define EC_EXIT return ret