From: Dmitry Volyntsev Date: Tue, 26 May 2020 16:21:05 +0000 (+0000) Subject: Improved handling of retvals of system function in "fs". X-Git-Tag: 0.4.2~59 X-Git-Url: http://git.kaiwu.me/postgresql/log/contrib/postgres_fdw/static/gitweb.js?a=commitdiff_plain;h=2d65a6cc248d83756062ee77651d157c78c5df48;p=njs.git Improved handling of retvals of system function in "fs". --- 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); }