summaryrefslogtreecommitdiff
path: root/MLKForm.m
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-09-29 01:06:05 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-09-29 01:06:05 +0200
commitfd7702e9b009d2984328b2519db946f82ad834e9 (patch)
treef910466e18eddd34e157c98e01dc5414e3154451 /MLKForm.m
parentace29d495df89afd2e3251064de91b00da2612da (diff)
parent45e00ec3f4dd6289cd14021ef1ee35568b4928c6 (diff)
Merge /home/mulk/Dropbox/Projekte/Toilet Lisp
Diffstat (limited to 'MLKForm.m')
-rw-r--r--MLKForm.m10
1 files changed, 10 insertions, 0 deletions
diff --git a/MLKForm.m b/MLKForm.m
index d0bcf42..1b94ce7 100644
--- a/MLKForm.m
+++ b/MLKForm.m
@@ -26,6 +26,10 @@
#import <Foundation/NSSet.h>
#import <Foundation/NSString.h>
+#ifdef __OBJC_GC__
+#import <Foundation/NSZone.h>
+#endif
+
#include <stdlib.h>
#define MAKE_FORM(OBJECT) \
@@ -487,7 +491,13 @@
argtypes = [[[_tail cdr] cdr] car];
_argc = [argtypes length];
+
+#ifdef __OBJC_GC__
+ _argumentTypes = NSAllocateCollectable (_argc * sizeof (MLKForeignType), NSScannedOption);
+#else
_argumentTypes = malloc (_argc * sizeof (MLKForeignType));
+#endif
+
while (argtypes)
{
_argumentTypes[i] = MLKForeignTypeWithTypeDesignator ([argtypes car]);