diff options
author | 2022-05-09 21:53:44 -0700 | |
---|---|---|
committer | 2022-05-09 21:53:44 -0700 | |
commit | 29b9ced11ace31d8049cfa159f875e90aba257b6 (patch) | |
tree | c52615f39c43094d909b0fa173d93b048a4fe730 /src/javascript | |
parent | 8ac108ba06fff666ce3257d3c64b694b7a2c6338 (diff) | |
download | bun-29b9ced11ace31d8049cfa159f875e90aba257b6.tar.gz bun-29b9ced11ace31d8049cfa159f875e90aba257b6.tar.zst bun-29b9ced11ace31d8049cfa159f875e90aba257b6.zip |
Update bindings.cpp
Diffstat (limited to 'src/javascript')
-rw-r--r-- | src/javascript/jsc/bindings/bindings.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/javascript/jsc/bindings/bindings.cpp b/src/javascript/jsc/bindings/bindings.cpp index ef1d78e27..7c190153f 100644 --- a/src/javascript/jsc/bindings/bindings.cpp +++ b/src/javascript/jsc/bindings/bindings.cpp @@ -306,13 +306,15 @@ JSC__JSValue SystemError__toErrorInstance(const SystemError* arg0, JSC::JSValue options = JSC::jsUndefined(); - JSC::Structure* errorStructure = globalObject->errorStructure(); - JSC::JSObject* result = JSC::ErrorInstance::create(globalObject, errorStructure, message, options); + Structure* errorStructure = JSC_GET_DERIVED_STRUCTURE(vm, errorStructure, globalObject->errorPrototype(), globalObject->errorPrototype()); + + JSC::JSObject* result + = JSC::ErrorInstance::create(globalObject, errorStructure, message, options); auto clientData = WebCore::clientData(vm); - if (err.code.len > 0) { - JSC::JSValue code = Zig::toJSString(err.code, globalObject); + if (err.code.len > 0 && !(err.code.len == 1 and err.code.ptr[0] == 0)) { + JSC::JSValue code = Zig::toJSStringGC(err.code, globalObject); result->putDirect(vm, clientData->builtinNames().codePublicName(), code, JSC::PropertyAttribute::DontDelete | 0); |