summaryrefslogtreecommitdiff
path: root/Objective-C
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-17 11:20:27 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-17 11:20:27 +0100
commit620a94200d9d7a33e41afd77c275599feb259ebd (patch)
tree5b681e73025c590ae5a88697c02e31e58d26e15b /Objective-C
parentb824aed3edf4f51b6a0fb13370c3abc75bc85206 (diff)
Implement FOREIGN-CLASS-ENSURE-REGISTERED.
darcs-hash:cc3448394e3e337be716275c3e4016a542860fd1
Diffstat (limited to 'Objective-C')
-rw-r--r--Objective-C/libobjcl.m8
1 files changed, 8 insertions, 0 deletions
diff --git a/Objective-C/libobjcl.m b/Objective-C/libobjcl.m
index d02e58b..dc44c2d 100644
--- a/Objective-C/libobjcl.m
+++ b/Objective-C/libobjcl.m
@@ -499,6 +499,14 @@ objcl_get_slot_value (id obj, const char *ivar_name, void *value_out)
value_out is actually a (void *) rather than a (void **).
Likewise, the result that is copied to value_out is the slot value
itself, not a pointer to it. */
+
+ /* NOTE UPDATE: Actually, it's trickier than that. The docs for
+ NeXTstep 3.3 say: ``These functions cannot reliably be used to set
+ and get instance variables that are not pointers.'' This makes the
+ behaviour and documentation a bit less confusing, because it means
+ that value_out is, in fact, assigned a pointer to the value of the
+ slot under the assumption that the slot itself references its value
+ via a pointer. */
object_getInstanceVariable (obj, ivar_name, value_out);
}