mirror of
https://github.com/nextcloud/desktop.git
synced 2025-10-26 11:17:43 +00:00
Use longWinPath in more places
This commit is contained in:
parent
d014293f6d
commit
03182ea714
@ -205,14 +205,8 @@ bool FileSystem::uncheckedRenameReplace(const QString &originFileName,
|
||||
(wchar_t *)dest.utf16(),
|
||||
MOVEFILE_REPLACE_EXISTING + MOVEFILE_COPY_ALLOWED + MOVEFILE_WRITE_THROUGH);
|
||||
if (!ok) {
|
||||
wchar_t *string = 0;
|
||||
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
|
||||
nullptr, ::GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
|
||||
(LPWSTR)&string, 0, nullptr);
|
||||
|
||||
*errorString = QString::fromWCharArray(string);
|
||||
*errorString = Utility::formatWinError(GetLastError());
|
||||
qCWarning(lcFileSystem) << "Renaming temp file to final failed: " << *errorString;
|
||||
LocalFree((HLOCAL)string);
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
@ -449,13 +443,13 @@ bool FileSystem::moveToTrash(const QString &fileName, QString *errorString)
|
||||
bool FileSystem::isFileLocked(const QString &fileName)
|
||||
{
|
||||
#ifdef Q_OS_WIN
|
||||
const wchar_t *wuri = reinterpret_cast<const wchar_t *>(fileName.utf16());
|
||||
// Check if file exists
|
||||
DWORD attr = GetFileAttributesW(wuri);
|
||||
const QString fName = longWinPath(fileName);
|
||||
DWORD attr = GetFileAttributesW(reinterpret_cast<const wchar_t *>(fName.utf16()));
|
||||
if (attr != INVALID_FILE_ATTRIBUTES) {
|
||||
// Try to open the file with as much access as possible..
|
||||
HANDLE win_h = CreateFileW(
|
||||
wuri,
|
||||
reinterpret_cast<const wchar_t *>(fName.utf16()),
|
||||
GENERIC_READ | GENERIC_WRITE,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
|
||||
nullptr, OPEN_EXISTING,
|
||||
@ -493,7 +487,7 @@ bool FileSystem::isJunction(const QString &filename)
|
||||
{
|
||||
#ifdef Q_OS_WIN
|
||||
WIN32_FIND_DATA findData;
|
||||
HANDLE hFind = FindFirstFileEx((const wchar_t *)filename.utf16(), FindExInfoBasic, &findData, FindExSearchNameMatch, nullptr, 0);
|
||||
HANDLE hFind = FindFirstFileEx(reinterpret_cast<const wchar_t *>(longWinPath(filename).utf16()), FindExInfoBasic, &findData, FindExSearchNameMatch, nullptr, 0);
|
||||
if (hFind != INVALID_HANDLE_VALUE) {
|
||||
FindClose(hFind);
|
||||
return false;
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#include "common/utility.h"
|
||||
#include "common/filesystembase.h"
|
||||
#include "version.h"
|
||||
|
||||
// Note: This file must compile without QtGui
|
||||
@ -229,7 +230,7 @@ qint64 Utility::freeDiskSpace(const QString &path)
|
||||
#elif defined(Q_OS_WIN)
|
||||
ULARGE_INTEGER freeBytes;
|
||||
freeBytes.QuadPart = 0L;
|
||||
if (GetDiskFreeSpaceEx(reinterpret_cast<const wchar_t *>(path.utf16()), &freeBytes, nullptr, nullptr)) {
|
||||
if (GetDiskFreeSpaceEx(reinterpret_cast<const wchar_t *>(FileSystem::longWinPath(path).utf16()), &freeBytes, nullptr, nullptr)) {
|
||||
return freeBytes.QuadPart;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -548,7 +548,7 @@ bool OwncloudPropagator::localFileNameClash(const QString &relFile)
|
||||
WIN32_FIND_DATA FindFileData;
|
||||
HANDLE hFind;
|
||||
|
||||
hFind = FindFirstFileW((wchar_t *)file.utf16(), &FindFileData);
|
||||
hFind = FindFirstFileW(reinterpret_cast<const wchar_t *>(FileSystem::longWinPath(file).utf16()), &FindFileData);
|
||||
if (hFind == INVALID_HANDLE_VALUE) {
|
||||
// returns false.
|
||||
} else {
|
||||
@ -582,7 +582,7 @@ bool OwncloudPropagator::hasCaseClashAccessibilityProblem(const QString &relfile
|
||||
WIN32_FIND_DATA FindFileData;
|
||||
HANDLE hFind;
|
||||
|
||||
hFind = FindFirstFileW(reinterpret_cast<const wchar_t *>(file.utf16()), &FindFileData);
|
||||
hFind = FindFirstFileW(reinterpret_cast<const wchar_t *>(FileSystem::longWinPath(file).utf16()), &FindFileData);
|
||||
if (hFind != INVALID_HANDLE_VALUE) {
|
||||
QString firstFile = QString::fromWCharArray(FindFileData.cFileName);
|
||||
if (FindNextFile(hFind, &FindFileData)) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user