View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000761 | Far Manager | File System | public | 2009-02-25 14:57 | 2009-05-05 05:45 |
Reporter | DiRTy_GaRRy | Assigned To | DrKnS | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | x86 | OS | Windows | OS Version | 2003 SP2 |
Fixed in Version | 2.0 | ||||
Summary | 0000761: Не совсем корректная работа с папками оканчивающимися на "." | ||||
Description | Far не совсем корректная работа с папками оканчивающимися на ".", то есть: 1. В такую папку нельзя зайти; 2. Для такой папки по Ctrl+A не корректно получаются атрибуты: - крыжики для всех атрибутов выставлены; - под именем отображается надпись "ссылка (нет данных)", причём на FAT32 тоже. 3. Не работает измеение атрибутов папки (измененеие дады/времени работает); Может ещё чего не работает, но это всё что я накопал на перывй взгляд. | ||||
Steps To Reproduce | Создаём папку оканчивающуюся на несколько символов ".", например "test....". | ||||
Tags | No tags attached. | ||||
Build | 798 | ||||
|
2 и 3 правятся приложенным патчем. GetFullPathNameW почему то не нравится слэш в конце путей с такими папками. Он отрезает одну точку. Правда таки не мешало бы как то обрабатывать ситуацию, когда GetFileAttributes возвращает ошибку. С 1, по ходу дела, до избавления от SetCurrentDirectory/GetCurrentDirectory пока в морг. Хотя каким то магическим образом после некоторых скачек с бубном оно у меня заходит в такую папку, но потом опять же таким же магическим образом перестаёт это делать. |
2009-02-25 19:30
|
far_dot_folders.patch (596 bytes)
Index: setattr.cpp =================================================================== --- setattr.cpp (revision 2635) +++ setattr.cpp (working copy) @@ -635,9 +635,7 @@ { if (!DlgParam.Plugin && !IsSlash(strSelName.At(strSelName.GetLength()-1))) { - string strCopy = strSelName; - AddEndSlash(strCopy); - FileAttr=apiGetFileAttributes(strCopy); + FileAttr=apiGetFileAttributes(strSelName); } //_SVS(SysLog(L"SelName=%s FileAttr=0x%08X",SelName,FileAttr)); AttrDlg[SETATTR_SUBFOLDERS].Flags&=~DIF_DISABLE; |
|
798. Про 1: у меня заходит только если в конце больше одной точки. если одна - никак. |
|
Из последнего SDK, статья "Naming a File" " Do not end a file or directory name with a trailing space or a period. Although the underlying file system may support such names, the operating system does not. You can start a name with a period (.). ". Может надо запретить создавать каталоги с точкой в конце? Explorer не дает создать такой каталог. Кстати SetCurrentDirectory дает ошибку с кодом 2 - файл не найден, вместо ошибки с кодом 3 - путь не найден. Наверно проверяет наличие папки как "folder.NUL". |
|
Ну запретить то можно, а вот пытаться работать с ними всё равно надо. |
|
попробовал сделать junction на такую папку ( test->test.) - работает. если в той же папке есть каталог с таким же именем но без точки, то заходит в каталог без точки. |
|
Ну да. Я это всё проверял. Работает всё, кроме захода в папку. А трюк с джюнкшионами — это стандартный путь для обхода проблем со всякими левыми папками (пробелы в конце, точки в конце, путь больше MAX_PATH). |
Date Modified | Username | Field | Change |
---|---|---|---|
2009-02-25 14:57 | DiRTy_GaRRy | New Issue | |
2009-02-25 17:38 | DrKnS | Status | new => assigned |
2009-02-25 17:38 | DrKnS | Assigned To | => DrKnS |
2009-02-25 19:23 | DiRTy_GaRRy | Note Added: 0002600 | |
2009-02-25 19:29 | DiRTy_GaRRy | Note Edited: 0002600 | |
2009-02-25 19:30 | DiRTy_GaRRy | File Added: far_dot_folders.patch | |
2009-02-25 20:25 | DrKnS | Note Added: 0002602 | |
2009-02-25 20:25 | DrKnS | Status | assigned => feedback |
2009-02-26 07:47 | alexandr_v | Note Added: 0002611 | |
2009-02-26 07:47 | alexandr_v | Note Edited: 0002611 | |
2009-02-26 07:48 | DiRTy_GaRRy | Note Added: 0002612 | |
2009-02-26 07:50 | alexandr_v | Note Edited: 0002611 | |
2009-02-26 07:54 | alexandr_v | Note Added: 0002613 | |
2009-02-26 07:55 | alexandr_v | Note Edited: 0002611 | |
2009-02-26 07:55 | alexandr_v | Note Edited: 0002613 | |
2009-02-26 07:56 | alexandr_v | Note Edited: 0002611 | |
2009-02-26 08:00 | DiRTy_GaRRy | Note Added: 0002614 | |
2009-03-14 08:55 | DrKnS | Relationship added | has duplicate 0000788 |
2009-04-13 07:17 | DiRTy_GaRRy | Relationship added | has duplicate 0000824 |
2009-05-05 05:45 | DrKnS | Build | => 798 |
2009-05-05 05:45 | DrKnS | Status | feedback => closed |
2009-05-05 05:45 | DrKnS | Resolution | open => fixed |
2009-05-05 05:45 | DrKnS | Fixed in Version | => 2.0 |
2009-07-01 05:00 | DrKnS | Relationship added | has duplicate 0000953 |