aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPConstants.h
diff options
context:
space:
mode:
authorMax <post@wickenrode.com>2015-01-04 03:57:26 +0100
committerMax <post@wickenrode.com>2015-01-04 03:57:26 +0100
commit2735e15bf5d4b3a976435ebb29ca9073de0e5071 (patch)
treee2088e442aa2d100ceafd8c0c4789e033fd12ac3 /Source/SPConstants.h
parentdb64bd1b5affd00332906901ee57d6f681faf7ea (diff)
downloadsequelpro-2735e15bf5d4b3a976435ebb29ca9073de0e5071.tar.gz
sequelpro-2735e15bf5d4b3a976435ebb29ca9073de0e5071.tar.bz2
sequelpro-2735e15bf5d4b3a976435ebb29ca9073de0e5071.zip
Formalize [x release], x = nil; convention
Take this commit as a proposal to formalize our existing "[x release], x = nil;" convention by introducing a macro for it. Feel free to revert this commit if you see issues with the approch or implementation.
Diffstat (limited to 'Source/SPConstants.h')
-rw-r--r--Source/SPConstants.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/SPConstants.h b/Source/SPConstants.h
index 415fd4da..f0350f07 100644
--- a/Source/SPConstants.h
+++ b/Source/SPConstants.h
@@ -612,6 +612,13 @@ extern NSString *SPURLSchemeQueryResultMetaPathHeader;
#define SPAppDelegate ((SPAppController *)[NSApp delegate])
+// Provides a standard method for our "[x release], x = nil;" convention.
+// Yes, this could have been done with a preprocessor macro alone, however
+// a function works more nicely in the debugger and in production code
+// the optimizer will most likely remove all overhead by inlining anyway :)
+void _SPClear(id *addr);
+#define SPClear(x) _SPClear(&x)
+
//Backwards compatibility
#ifndef __MAC_10_7
#define __MAC_10_7 1070