diff --git a/src/node_file.cc b/src/node_file.cc index a523a9336007..e0196a4a073c 100644 --- a/src/node_file.cc +++ b/src/node_file.cc @@ -56,6 +56,12 @@ static Persistent errno_symbol; static Persistent buf_symbol; static Persistent oncomplete_sym; +Local FSError(int errorno, + const char *syscall = NULL, + const char *msg = NULL, + const char *path = NULL); + + static inline bool SetCloseOnExec(int fd) { #ifdef __POSIX__ return (fcntl(fd, F_SETFD, FD_CLOEXEC) != -1); @@ -94,12 +100,12 @@ static void After(uv_fs_t *req) { // If the request doesn't have a path parameter set. if (!req->path) { - argv[0] = ErrnoException(req->errorno); + argv[0] = FSError(req->errorno); } else { - argv[0] = ErrnoException(req->errorno, - NULL, - "", - static_cast(req->path)); + argv[0] = FSError(req->errorno, + NULL, + NULL, + static_cast(req->path)); } } else { // error value is empty or null for non-error.