From ec2452c4af34765d3948aa841728fd1c76eedb2c Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 10 Jun 2020 08:20:36 +0200 Subject: [PATCH] src: avoid unnecessary ToLocalChecked calls This commit removes two unnecessary ToLocalChecked calls in StringBytes::Encode. PR-URL: https://github.com/nodejs/node/pull/33824 Reviewed-By: Richard Lau Reviewed-By: Anna Henningsen Reviewed-By: Colin Ihrig Reviewed-By: David Carlier --- src/string_bytes.cc | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/string_bytes.cc b/src/string_bytes.cc index 17b4d6247f0a3d..b8db2ad96522ad 100644 --- a/src/string_bytes.cc +++ b/src/string_bytes.cc @@ -653,11 +653,11 @@ MaybeLocal StringBytes::Encode(Isolate* isolate, return MaybeLocal(); } auto maybe_buf = Buffer::Copy(isolate, buf, buflen); - if (maybe_buf.IsEmpty()) { + Local buf; + if (!maybe_buf.ToLocal(&buf)) { *error = node::ERR_MEMORY_ALLOCATION_FAILED(isolate); - return MaybeLocal(); } - return maybe_buf.ToLocalChecked(); + return buf; } case ASCII: @@ -674,15 +674,17 @@ MaybeLocal StringBytes::Encode(Isolate* isolate, } case UTF8: - val = String::NewFromUtf8(isolate, - buf, - v8::NewStringType::kNormal, - buflen); - if (val.IsEmpty()) { - *error = node::ERR_STRING_TOO_LONG(isolate); - return MaybeLocal(); + { + val = String::NewFromUtf8(isolate, + buf, + v8::NewStringType::kNormal, + buflen); + Local str; + if (!val.ToLocal(&str)) { + *error = node::ERR_STRING_TOO_LONG(isolate); + } + return str; } - return val.ToLocalChecked(); case LATIN1: return ExternOneByteString::NewFromCopy(isolate, buf, buflen, error);