From 3d1ff26335778008a4fbed0c05fc0ab4228a6a24 Mon Sep 17 00:00:00 2001 From: JonasBa Date: Thu, 22 Aug 2024 11:26:56 -0400 Subject: [PATCH] src: use string view instead of local This reverts commit 1340a81744b5a934b4ea0423bc01d424fa152127. --- src/node_sqlite.cc | 11 +++++++---- src/node_sqlite.h | 3 ++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/node_sqlite.cc b/src/node_sqlite.cc index 46bb049917d9fb..bba5a694e63e1f 100644 --- a/src/node_sqlite.cc +++ b/src/node_sqlite.cc @@ -11,6 +11,7 @@ #include "util-inl.h" #include +#include namespace node { namespace sqlite { @@ -78,12 +79,11 @@ inline void THROW_ERR_SQLITE_ERROR(Isolate* isolate, sqlite3* db) { DatabaseSync::DatabaseSync(Environment* env, Local object, - Local location, + std::string_view location, bool open) : BaseObject(env, object) { MakeWeak(); - Utf8Value utf8_location(env->isolate(), location); - location_ = utf8_location.ToString(); + location_ = std::string(location); connection_ = nullptr; if (open) { @@ -178,7 +178,10 @@ void DatabaseSync::New(const FunctionCallbackInfo& args) { } } - new DatabaseSync(env, args.This(), args[0].As(), open); + BufferValue location(env->isolate(), args[0]); + CHECK_NOT_NULL(*location); + ToNamespacedPath(env, &location); + new DatabaseSync(env, args.This(), location.ToStringView(), open); } void DatabaseSync::Open(const FunctionCallbackInfo& args) { diff --git a/src/node_sqlite.h b/src/node_sqlite.h index ca6e8c7f23cf40..73e51de065e4ef 100644 --- a/src/node_sqlite.h +++ b/src/node_sqlite.h @@ -9,6 +9,7 @@ #include "util.h" #include +#include #include namespace node { @@ -20,7 +21,7 @@ class DatabaseSync : public BaseObject { public: DatabaseSync(Environment* env, v8::Local object, - v8::Local location, + std::string_view location, bool open); void MemoryInfo(MemoryTracker* tracker) const override; static void New(const v8::FunctionCallbackInfo& args);