comparison src/os/win32/ngx_files.c @ 9044:c33eb93f9c7a

Win32: removed attempt to use a drive letter in ngx_fs_bsize(). Just a drive letter might not correctly represent file system being used, notably when using symlinks (as created by "mklink /d"). As such, instead of trying to call GetDiskFreeSpace() with just a drive letter, we now always use GetDiskFreeSpace() with full path. Further, it looks like the code to use just a drive letter never worked, since it tried to test name[2] instead of name[1] to be ':'.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 23 Feb 2023 20:50:00 +0300
parents e818ed227735
children 2acb00b9b5ff
comparison
equal deleted inserted replaced
9043:e818ed227735 9044:c33eb93f9c7a
965 965
966 966
967 size_t 967 size_t
968 ngx_fs_bsize(u_char *name) 968 ngx_fs_bsize(u_char *name)
969 { 969 {
970 u_char root[4];
971 u_long sc, bs, nfree, ncl; 970 u_long sc, bs, nfree, ncl;
972
973 if (name[2] == ':') {
974 ngx_cpystrn(root, name, 4);
975 name = root;
976 }
977 971
978 if (GetDiskFreeSpace((const char *) name, &sc, &bs, &nfree, &ncl) == 0) { 972 if (GetDiskFreeSpace((const char *) name, &sc, &bs, &nfree, &ncl) == 0) {
979 return 512; 973 return 512;
980 } 974 }
981 975