]> git.saurik.com Git - apple/security.git/blobdiff - utilities/src/SecCFRelease.h
Security-55471.tar.gz
[apple/security.git] / utilities / src / SecCFRelease.h
diff --git a/utilities/src/SecCFRelease.h b/utilities/src/SecCFRelease.h
new file mode 100644 (file)
index 0000000..f63eabf
--- /dev/null
@@ -0,0 +1,34 @@
+//
+//  SecCFRelease.h
+//  utilities
+//
+//  Created by Mitch Adler on 2/9/12.
+//  Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+
+#ifndef _SECCFRELEASE_H_
+#define _SECCFRELEASE_H_
+
+#include <CoreFoundation/CFBase.h>
+
+#define CFRetainSafe(CF) {  \
+    CFTypeRef _cf = (CF);   \
+    if (_cf)                \
+        CFRetain(_cf);      \
+    }
+
+#define CFReleaseSafe(CF) { \
+    CFTypeRef _cf = (CF);   \
+    if (_cf)                \
+        CFRelease(_cf);     \
+    }
+
+#define CFReleaseNull(CF) { \
+    CFTypeRef _cf = (CF);   \
+    if (_cf) {              \
+        (CF) = NULL;        \
+        CFRelease(_cf);     \
+        }                   \
+    }
+
+#endif