From 2d65a6cc248d83756062ee77651d157c78c5df48 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Tue, 26 May 2020 16:21:05 +0000 Subject: [PATCH] Improved handling of retvals of system function in "fs". --- src/njs_fs.c | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/src/njs_fs.c b/src/njs_fs.c index 7e0cbcaf..1f5fcaad 100644 --- a/src/njs_fs.c +++ b/src/njs_fs.c @@ -458,16 +458,15 @@ njs_fs_rename_sync(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, return ret; } + njs_set_undefined(&vm->retval); + ret = rename(old_path, new_path); if (njs_slow_path(ret != 0)) { - (void) njs_fs_error(vm, "rename", strerror(errno), NULL, errno, + ret = njs_fs_error(vm, "rename", strerror(errno), NULL, errno, &vm->retval); - return NJS_ERROR; } - njs_set_undefined(&vm->retval); - - return NJS_OK; + return ret; } @@ -515,16 +514,13 @@ njs_fs_access(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, return NJS_ERROR; } + njs_set_undefined(&retval); + ret = access(file_path, md); if (njs_slow_path(ret != 0)) { ret = njs_fs_error(vm, "access", strerror(errno), path, errno, &retval); - goto done; } - njs_set_undefined(&retval); - -done: - if (ret == NJS_OK) { return njs_fs_result(vm, &retval, calltype, callback, 1); } @@ -573,17 +569,14 @@ njs_fs_symlink(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, return NJS_ERROR; } + njs_set_undefined(&retval); + ret = symlink(target_path, file_path); if (njs_slow_path(ret != 0)) { ret = njs_fs_error(vm, "symlink", strerror(errno), path, errno, &retval); - goto done; } - njs_set_undefined(&retval); - -done: - if (ret == NJS_OK) { return njs_fs_result(vm, &retval, calltype, callback, 1); } @@ -616,16 +609,13 @@ njs_fs_unlink(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, } } + njs_set_undefined(&retval); + ret = unlink(file_path); if (njs_slow_path(ret != 0)) { ret = njs_fs_error(vm, "unlink", strerror(errno), path, errno, &retval); - goto done; } - njs_set_undefined(&retval); - -done: - if (ret == NJS_OK) { return njs_fs_result(vm, &retval, calltype, callback, 1); } -- 2.47.3