]> git.saurik.com Git - cycript.git/commitdiff
Do not cache modules if the module doesn't exist.
authorJay Freeman (saurik) <saurik@saurik.com>
Sun, 26 Jan 2014 22:04:37 +0000 (14:04 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Sun, 26 Jan 2014 22:04:37 +0000 (14:04 -0800)
Execute.cpp

index 82ef815325ea7b3d8883fefd6de3221eb578f6ca..b0c8aac84940e4ba20d81e7afffd77381f6205b7 100644 (file)
@@ -1724,15 +1724,15 @@ static JSValueRef require(JSContextRef context, JSObjectRef object, JSObjectRef
     if (!JSValueIsUndefined(context, cache))
         module = CYCastJSObject(context, cache);
     else {
+        CYUTF8String code;
+        code.data = reinterpret_cast<char *>(CYMapFile(path, &code.size));
+
         module = JSObjectMake(context, NULL, NULL);
         CYSetProperty(context, modules, key, module);
 
         JSObjectRef exports(JSObjectMake(context, NULL, NULL));
         CYSetProperty(context, module, property, exports);
 
-        CYUTF8String code;
-        code.data = reinterpret_cast<char *>(CYMapFile(path, &code.size));
-
         std::stringstream wrap;
         wrap << "(function (exports, require, module) { " << code << "\n});";
         code = CYPoolCode(pool, wrap);