]> git.saurik.com Git - cycript.git/commitdiff
CYJSObject objectForKey: should be returning nil for undefined keys.
authorJay Freeman (saurik) <saurik@saurik.com>
Sun, 18 Oct 2009 06:16:30 +0000 (06:16 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Sun, 18 Oct 2009 06:16:30 +0000 (06:16 +0000)
Library.mm

index 8116d532d26a43156ea189fbd96e1dc98f184384..92e43ede52a8eb337f1c73ab84db7c7882c26f7d 100644 (file)
@@ -1434,7 +1434,10 @@ bool CYIsCallable(JSContextRef context, JSValueRef value) {
 }
 
 - (id) objectForKey:(id)key {
-    return CYCastNSObject(NULL, context_, CYGetProperty(context_, object_, CYJSString(key))) ?: [NSNull null];
+    JSValueRef value(CYGetProperty(context_, object_, CYJSString(key)));
+    if (JSValueIsUndefined(context_, value))
+        return nil;
+    return CYCastNSObject(NULL, context_, value) ?: [NSNull null];
 }
 
 - (NSEnumerator *) keyEnumerator {