]> git.saurik.com Git - cycript.git/commitdiff
Provide access to errno (though not from console).
authorJay Freeman (saurik) <saurik@saurik.com>
Wed, 23 Dec 2015 16:31:40 +0000 (08:31 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Wed, 23 Dec 2015 16:31:40 +0000 (08:31 -0800)
Execute.cpp
libcycript.cy

index 7b3f2f2b84d6adcdc74dbfb726686f68bcd7d931..be79e00b542115da7fd8381d65dfd392272bd6b0 100644 (file)
@@ -1147,6 +1147,9 @@ extern "C" const char *CYBridgeHash(CYPool &pool, CYUTF8String name) {
 }
 
 static bool All_hasProperty(JSContextRef context, JSObjectRef object, JSStringRef property) {
 }
 
 static bool All_hasProperty(JSContextRef context, JSObjectRef object, JSStringRef property) {
+    if (JSStringIsEqualToUTF8CString(property, "errno"))
+        return true;
+
     JSObjectRef global(CYGetGlobalObject(context));
     JSObjectRef cycript(CYCastJSObject(context, CYGetProperty(context, global, CYJSString("Cycript"))));
     JSObjectRef alls(CYCastJSObject(context, CYGetProperty(context, cycript, CYJSString("alls"))));
     JSObjectRef global(CYGetGlobalObject(context));
     JSObjectRef cycript(CYCastJSObject(context, CYGetProperty(context, global, CYJSString("Cycript"))));
     JSObjectRef alls(CYCastJSObject(context, CYGetProperty(context, cycript, CYJSString("alls"))));
@@ -1164,6 +1167,9 @@ static bool All_hasProperty(JSContextRef context, JSObjectRef object, JSStringRe
 }
 
 static JSValueRef All_getProperty(JSContextRef context, JSObjectRef object, JSStringRef property, JSValueRef *exception) { CYTry {
 }
 
 static JSValueRef All_getProperty(JSContextRef context, JSObjectRef object, JSStringRef property, JSValueRef *exception) { CYTry {
+    if (JSStringIsEqualToUTF8CString(property, "errno"))
+        return CYCastJSValue(context, errno);
+
     JSObjectRef global(CYGetGlobalObject(context));
     JSObjectRef cycript(CYCastJSObject(context, CYGetProperty(context, global, CYJSString("Cycript"))));
     JSObjectRef alls(CYCastJSObject(context, CYGetProperty(context, cycript, CYJSString("alls"))));
     JSObjectRef global(CYGetGlobalObject(context));
     JSObjectRef cycript(CYCastJSObject(context, CYGetProperty(context, global, CYJSString("Cycript"))));
     JSObjectRef alls(CYCastJSObject(context, CYGetProperty(context, cycript, CYJSString("alls"))));
index a0793833f50fc70adec725c545ca802a149c3056..79a1735279be94a6e900f1af24ca3b47f50c0d92 100644 (file)
@@ -159,7 +159,7 @@ require.resolve = function(name) {
 
 var _syscall = function(value) {
     if (value == -1)
 
 var _syscall = function(value) {
     if (value == -1)
-        throw new Error("system call failed");
+        throw new Error(strerror(errno));
 };
 
 var info = *new (struct stat);
 };
 
 var info = *new (struct stat);