diff --git a/src/node_file.cc b/src/node_file.cc index c4e3b83392c..ae2aa0677f6 100644 --- a/src/node_file.cc +++ b/src/node_file.cc @@ -88,7 +88,10 @@ constexpr char kPathSeparator = '/'; const char* const kPathSeparator = "\\/"; #endif -#define GET_OFFSET(a) (IsSafeJsInt(a) ? (a).As()->Value() : -1) +inline int64_t GetOffset(Local value) { + return IsSafeJsInt(value) ? value.As()->Value() : -1; +} + #define TRACE_NAME(name) "fs.sync." #name #define GET_TRACE_ENABLED \ (*TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED \ @@ -1681,7 +1684,7 @@ static void WriteBuffer(const FunctionCallbackInfo& args) { CHECK_LE(len, buffer_length); CHECK_GE(off + len, off); - const int64_t pos = GET_OFFSET(args[4]); + const int64_t pos = GetOffset(args[4]); char* buf = buffer_data + off; uv_buf_t uvbuf = uv_buf_init(buf, len); @@ -1721,7 +1724,7 @@ static void WriteBuffers(const FunctionCallbackInfo& args) { CHECK(args[1]->IsArray()); Local chunks = args[1].As(); - int64_t pos = GET_OFFSET(args[2]); + int64_t pos = GetOffset(args[2]); MaybeStackBuffer iovs(chunks->Length()); @@ -1765,7 +1768,7 @@ static void WriteString(const FunctionCallbackInfo& args) { CHECK(args[0]->IsInt32()); const int fd = args[0].As()->Value(); - const int64_t pos = GET_OFFSET(args[2]); + const int64_t pos = GetOffset(args[2]); const auto enc = ParseEncoding(isolate, args[3], UTF8);