summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2023-02-23 20:49:52 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2023-02-23 20:49:52 +0300
commitdc4957485e151ed11026ab827c8e5348b3d3ae01 (patch)
tree844907eef65bd141fee435e2bd739f377e710098
parent94d8cea620e0abc67f4d0fe9aaf6170f39529c8c (diff)
downloadnginx-dc4957485e151ed11026ab827c8e5348b3d3ae01.tar.gz
Win32: reworked ngx_win32_rename_file() to use nginx wrappers.
This ensures that ngx_win32_rename_file() will support non-ASCII names when supported by the wrappers. Notably, this is used by PUT requests in the dav module when overwriting existing files with non-ASCII names (ticket #1433).
-rw-r--r--src/os/win32/ngx_files.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/os/win32/ngx_files.c b/src/os/win32/ngx_files.c
index 48075b4c9..5bd08e1a9 100644
--- a/src/os/win32/ngx_files.c
+++ b/src/os/win32/ngx_files.c
@@ -232,7 +232,7 @@ ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_log_t *log)
ngx_sprintf(name + to->len, ".%0muA.DELETE%Z", num);
- if (MoveFile((const char *) to->data, (const char *) name) != 0) {
+ if (ngx_rename_file(to->data, name) != NGX_FILE_ERROR) {
break;
}
@@ -248,14 +248,14 @@ ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_log_t *log)
goto failed;
}
- if (MoveFile((const char *) from->data, (const char *) to->data) == 0) {
+ if (ngx_rename_file(from->data, to->data) == NGX_FILE_ERROR) {
err = ngx_errno;
} else {
err = 0;
}
- if (DeleteFile((const char *) name) == 0) {
+ if (ngx_delete_file(name) == NGX_FILE_ERROR) {
ngx_log_error(NGX_LOG_CRIT, log, ngx_errno,
"DeleteFile() \"%s\" failed", name);
}