* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Fix
thinko in UNC path handling. * path.cc (symlink_worker): Fix typo in comment. Fix UNC path handling.
This commit is contained in:
parent
fa22ec2bab
commit
949caed8f7
@ -1,3 +1,9 @@
|
||||
2008-04-14 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Fix
|
||||
thinko in UNC path handling.
|
||||
* path.cc (symlink_worker): Fix typo in comment. Fix UNC path handling.
|
||||
|
||||
2008-04-13 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Simplify
|
||||
|
@ -1619,7 +1619,7 @@ fhandler_disk_file::readdir_helper (DIR *dir, dirent *de, DWORD w32_err,
|
||||
RtlAppendUnicodeStringToString (&fbuf, fname);
|
||||
fbuf.Buffer += 4; /* Skip leading \??\ */
|
||||
fbuf.Length -= 4 * sizeof (WCHAR);
|
||||
if (*fbuf.Buffer == L'U') /* UNC path */
|
||||
if (fbuf.Buffer[1] != L':') /* UNC path */
|
||||
{
|
||||
*(fbuf.Buffer += 2) = L'\\';
|
||||
fbuf.Length -= 2 * sizeof (WCHAR);
|
||||
|
@ -1642,11 +1642,11 @@ symlink_worker (const char *oldpath, const char *newpath, bool use_winsym,
|
||||
/* Amazing but true: Even though the ParseDisplayName method
|
||||
takes a wide char path name, it does not understand the
|
||||
Win32 prefix for long pathnames! So we have to tack off
|
||||
the prefix and convert tyhe path to the "normal" syntax
|
||||
the prefix and convert the path to the "normal" syntax
|
||||
for ParseDisplayName. I have no idea if it's able to take
|
||||
long path names at all since I can't test it right now. */
|
||||
WCHAR *wc = wc_path + 4;
|
||||
if (!wcscmp (wc, L"UNC\\"))
|
||||
if (!wcsncmp (wc, L"UNC\\", 4))
|
||||
*(wc += 2) = L'\\';
|
||||
HRESULT res;
|
||||
if (SUCCEEDED (res = psl->ParseDisplayName (NULL, NULL, wc, NULL,
|
||||
|
Loading…
Reference in New Issue
Block a user