From a1a28a673b6f26863f2026384e80258cc2f046ee Mon Sep 17 00:00:00 2001
From: kmxz <kmxz@kmxz.net>
Date: Mon, 30 Dec 2019 08:12:41 +0000
Subject: [PATCH] Support building for Node v12

---
 src/statvfs.cpp | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

--- a/src/statvfs.cpp
+++ b/src/statvfs.cpp
@@ -41,11 +41,14 @@ static Nan::Persistent<String> namemax_s
 	if (ARGS.Length() == 0)					\
 		RETURN_ARGS_EXCEPTION("missing arguments");
 
-#define REQUIRE_STRING_ARG(ARGS, I, VAR)				  \
-	REQUIRE_ARGS(ARGS);										   \
-	if (ARGS.Length() <= (I) || !ARGS[I]->IsString())		\
+#define REQUIRE_STRING_ARG(ARGS, I, VAR)				\
+	REQUIRE_ARGS(ARGS);						\
+	if (ARGS.Length() <= (I))					\
+		RETURN_ARGS_EXCEPTION("argument " #I " must be a String"); \
+	Nan::MaybeLocal<v8::String> _ ## VAR(Nan::To<v8::String>(ARGS[I])); \
+	if (_ ## VAR.IsEmpty())					\
 		RETURN_ARGS_EXCEPTION("argument " #I " must be a String"); \
-	Nan::Utf8String VAR(ARGS[I]->ToString());
+	Nan::Utf8String VAR(_ ## VAR.ToLocalChecked());
 
 #define REQUIRE_FUNCTION_ARG(ARGS, I, VAR)							  \
 	REQUIRE_ARGS(ARGS);						\
