aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/bindings/bindings.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-06-05 04:44:05 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-06-05 04:44:05 -0700
commitab04e82f55eb14347b08d9ec98399a1546b3b306 (patch)
tree84ee45cd0a80afe40973f607405b8b8fdb20706f /src/javascript/jsc/bindings/bindings.cpp
parent5aa196b361f58b4ba70d21464b4f0995164e269c (diff)
downloadbun-jarred/escapeHTML.tar.gz
bun-jarred/escapeHTML.tar.zst
bun-jarred/escapeHTML.zip
good enough for nowjarred/escapeHTML
Diffstat (limited to 'src/javascript/jsc/bindings/bindings.cpp')
-rw-r--r--src/javascript/jsc/bindings/bindings.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/javascript/jsc/bindings/bindings.cpp b/src/javascript/jsc/bindings/bindings.cpp
index 7505a8a8f..a4435f06b 100644
--- a/src/javascript/jsc/bindings/bindings.cpp
+++ b/src/javascript/jsc/bindings/bindings.cpp
@@ -1101,23 +1101,26 @@ static void free_global_string(void* str, void* ptr, unsigned len)
JSC__JSValue ZigString__toExternalU16(const uint16_t* arg0, size_t len, JSC__JSGlobalObject* global)
{
- return JSC::JSValue::encode(JSC::JSValue(JSC::jsOwnedString(
- global->vm(),
- ExternalStringImpl::create(reinterpret_cast<const UChar*>(arg0), len, nullptr, free_global_string))));
+ auto ref = String(ExternalStringImpl::create(reinterpret_cast<const UChar*>(arg0), len, nullptr, free_global_string));
+
+ return JSC::JSValue::encode(JSC::JSValue(JSC::jsString(
+ global->vm(), WTFMove(ref))));
}
// This must be a globally allocated string
JSC__JSValue ZigString__toExternalValue(const ZigString* arg0, JSC__JSGlobalObject* arg1)
{
ZigString str = *arg0;
if (Zig::isTaggedUTF16Ptr(str.ptr)) {
- return JSC::JSValue::encode(JSC::JSValue(JSC::jsOwnedString(
+ auto ref = String(ExternalStringImpl::create(reinterpret_cast<const UChar*>(Zig::untag(str.ptr)), str.len, nullptr, free_global_string));
+
+ return JSC::JSValue::encode(JSC::JSValue(JSC::jsString(
+ arg1->vm(), WTFMove(ref))));
+ } else {
+ auto ref = String(ExternalStringImpl::create(Zig::untag(str.ptr), str.len, nullptr, free_global_string));
+ return JSC::JSValue::encode(JSC::JSValue(JSC::jsString(
arg1->vm(),
- ExternalStringImpl::create(reinterpret_cast<const UChar*>(Zig::untag(str.ptr)), str.len, nullptr, free_global_string))));
+ WTFMove(ref))));
}
-
- return JSC::JSValue::encode(JSC::JSValue(JSC::jsOwnedString(
- arg1->vm(),
- ExternalStringImpl::create(Zig::untag(str.ptr), str.len, nullptr, free_global_string))));
}
VirtualMachine* JSC__JSGlobalObject__bunVM(JSC__JSGlobalObject* arg0)