@@ -1961,6 +1961,7 @@ static inline Maybe<void> CheckOpenPermissions(Environment* env,
19611961
19621962static void ReadFileSync (const FunctionCallbackInfo<Value>& args) {
19631963 Environment* env = Environment::GetCurrent (args);
1964+ auto isolate = env->isolate ();
19641965
19651966 CHECK_GE (args.Length (), 2 );
19661967
@@ -1980,8 +1981,11 @@ static void ReadFileSync(const FunctionCallbackInfo<Value>& args) {
19801981 FS_SYNC_TRACE_END (open);
19811982 if (req.result < 0 ) {
19821983 // req will be cleaned up by scope leave.
1983- return args.GetReturnValue ().Set (
1984- v8::Integer::New (env->isolate (), req.result ));
1984+ Local<Value> out[] = {
1985+ Integer::New (isolate, req.result ), // errno
1986+ FIXED_ONE_BYTE_STRING (isolate, " open" ), // syscall
1987+ };
1988+ return args.GetReturnValue ().Set (Array::New (isolate, out, arraysize (out)));
19851989 }
19861990 uv_fs_req_cleanup (&req);
19871991
@@ -2001,8 +2005,12 @@ static void ReadFileSync(const FunctionCallbackInfo<Value>& args) {
20012005 if (req.result < 0 ) {
20022006 FS_SYNC_TRACE_END (read);
20032007 // req will be cleaned up by scope leave.
2008+ Local<Value> out[] = {
2009+ Integer::New (isolate, req.result ), // errno
2010+ FIXED_ONE_BYTE_STRING (isolate, " read" ), // syscall
2011+ };
20042012 return args.GetReturnValue ().Set (
2005- v8::Integer:: New (env-> isolate (), req. result ));
2013+ Array:: New (isolate, out, arraysize (out) ));
20062014 }
20072015 uv_fs_req_cleanup (&req);
20082016 if (r <= 0 ) {
0 commit comments