]> git.saurik.com Git - cycript.git/commitdiff
Allow a * on a CString to get the first character.
authorJay Freeman (saurik) <saurik@saurik.com>
Tue, 5 Jan 2016 08:42:16 +0000 (00:42 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Tue, 5 Jan 2016 08:42:16 +0000 (00:42 -0800)
Execute.cpp

index 310ddf6be90c620b1653c07b7fa38508924d245e..78aaf1bace741dd49ff61a5504e5a8a2618be46d 100644 (file)
@@ -985,7 +985,9 @@ static JSValueRef CString_getProperty(JSContextRef context, JSObjectRef object,
     CString *internal(reinterpret_cast<CString *>(JSObjectGetPrivate(object)));
 
     ssize_t offset;
-    if (!CYGetOffset(pool, context, property, offset))
+    if (JSStringIsEqualToUTF8CString(property, "$cyi"))
+        offset = 0;
+    else if (!CYGetOffset(pool, context, property, offset))
         return NULL;
 
     return CYCastJSValue(context, CYJSString(CYUTF8String(&internal->value_[offset], 1)));
@@ -996,7 +998,9 @@ static bool CString_setProperty(JSContextRef context, JSObjectRef object, JSStri
     CString *internal(reinterpret_cast<CString *>(JSObjectGetPrivate(object)));
 
     ssize_t offset;
-    if (!CYGetOffset(pool, context, property, offset))
+    if (JSStringIsEqualToUTF8CString(property, "$cyi"))
+        offset = 0;
+    else if (!CYGetOffset(pool, context, property, offset))
         return false;
 
     const char *data(CYPoolCString(pool, context, value));