Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[BUG] Издевательство над комментариями

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
D1P



Joined: 20 Dec 2004
Posts: 2973
Location: Тбилиси

Post (Separately) Posted: Mon Nov 09, 2009 03:10    Post subject: [BUG] Издевательство над комментариями Reply with quote

Не спрашивайте, как я это нашёл, и зачем.
Жмём Ctrl+Z на файле, вводим в редактор всякую многострочную фигню. Я вставлял список каталогов, полученный по cm_CopyFullNamesToClip. Желательно, кстати, чтобы комментариев к другим файлам в descript.ion не было, т.е. чтобы перед экспериментами он был пуст.
Итак, забиваем редактор многострочной фигнёй. В редактор может влезть не всё - пофиг, забиваем до максимального допустимого размера комментария (4096 символов, но по Ctrl+V вставляется и больше, такое чувство, что не считаются бекслеши \).
Затем открываем файл descript.ion, копируем из него часть комментария к файлу (это важно - т.к. данные там уже экранированы, и с правильными спецсимволами), и вставляем в конец имеющегося комментария. Вставляем несколько раз, чтобы коменнтарий был килобайт 50. Сохраняем descript.ion. Запоминаем размер.
Жмём Ctrl+Z на комментированном файле. И тут начинаются странности.
Во первых, уже открытый комментарий может не совпадать с тем, что был вначале (с теми 4096 символами, влезшими в редактор в первый раз). Ну это пофиг.
Зато, если нажать F2 и посмотреть на descript.ion, мы увидим, что файл уменьшился в размере. Причём размер, на который файл уменьшился, всегда разный - у меня, при экспериментах, получались цифры от 2537 до 4090 байт. Зависимости не выявил.
При повторном открытии комментарий может отобразиться, а может и нет (закономерность того, на каких данных коммента не видно, я поймал, но объяснить не могу). Если комментария нет, то и ввести его уже не получается, а при нажатии F2 файл descript.ion опять уменьшается в размере. Если открыть descript.ion в редакторе, видно, что сразу после имени файла идут символы 0x20 (пробел) и 0x4, а потом уже - каша "комментария" (которая, после каждого сохранения, опять меняется).
Если комментарий есть, то отредактировать его удаётся, однако при повторном открытии комментария видна смесь введённого комментария и прежней фигни. При нажатии F2 без изменения текста, размер descript.ion также уменьшается, и также - всегда на разное количество байт. Но повторное открытие\закрытие редактора комментариев уже к такому эффекту не приводит.

Подозреваю, что дело в наличии кучи экранированных бекслешей (\\), поскольку в качестве всякой фигни для забивания комментария использовался листинг каталога. С другим текстом воспроизводится лишь часть описанного издевательства.
Также чую, что тут замешан управляющий символ 0x4, но обосновать не могу =).
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Mon Nov 09, 2009 12:11    Post subject: Reply with quote

Что предлагается делать с результатами данного издевательства? Репортить Гислеру? Пошлёт лесом и посоветует прекратить мучить животное. Чую, но обосновать не могу. Wink
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
D1P



Joined: 20 Dec 2004
Posts: 2973
Location: Тбилиси

Post (Separately) Posted: Mon Nov 09, 2009 19:06    Post subject: Reply with quote

Ничего не предлагается. Я выступил в роли акына, что увидел - о том и спел.
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Wed Nov 11, 2009 01:44    Post subject: Reply with quote

Мне кажется, репортить надо. Если Тотал поганит такой комментарий, то где гарантия, что он не испоганит комментарий, созданный другой программой? Единственное, конечно, хорошо бы сначала проверить, что полученный файл descript.ion вообще валиден, т.е. соответствует стандарту. И ежели так, то репортить не только мона, но и нуна.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
D1P



Joined: 20 Dec 2004
Posts: 2973
Location: Тбилиси

Post (Separately) Posted: Wed Nov 11, 2009 08:52    Post subject: Reply with quote

Тогда с меня - примеры файлов и описание, что с ними происходит (как только - так сразу). С вас - репорт. Мой английский не настолько хорош, чтобы описать такое поведение.
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
D1P



Joined: 20 Dec 2004
Posts: 2973
Location: Тбилиси

Post (Separately) Posted: Wed Nov 11, 2009 14:21    Post subject: Reply with quote

http://www.tckb.ru/files/description.rar
В архиве два файла, содержащие описание для каталога (или файла) с именем one.
descript.ion(1): весит 4098 байт, однако, если просмотреть комментарий каталога и нажать F2, размер уменьшается на два байта. Создан копированием в комментарий листинга каталога.
descript.ion(2): при просмотре и сохранении комментария размер файла будет уменьшаться, пока не достигнет 4096 байт. В процессе содержимое комментария будет меняться (в т.ч. пропадать), и в итоге останется далёким от первоначального.
Создан редактированием предыдущего файла (копипастингом случайного участка содержимого в конце комментария).
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Wed Nov 11, 2009 22:38    Post subject: Reply with quote

Quote:
файл уменьшился в размере. Причём размер, на который файл уменьшился, всегда разный - у меня, при экспериментах, получались цифры от 2537 до 4090 байт
Не подтверждаю - у меня после прямого редактирования получилось 63316 байт, и менялся он незначительно, в соответствии с моим редактированием (через Ctrl+Z).
Quote:
При повторном открытии комментарий может отобразиться, а может и нет
У меня не так - всегда отображается.
Quote:
каша "комментария" (которая, после каждого сохранения, опять меняется).
Я заметил только одно изменение - размножение упомянутых бекслешей. Многократным редактированием довел число их до семи (типа c:\\\\\\\Мой\\\\\\\путь\\\\\\\файл.txt).
Quote:
при повторном открытии комментария видна смесь введённого комментария и прежней фигни
Не подтверждаю - и в редакторе, и через Ctrl+Z вижу то, что вводил.
Иными словами, у меня поведение более предсказуемое и логичное, чем у D1P.
TC 7.5RC2, W2kSP3Eng
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Lazy Crazy



Joined: 16 Jan 2005
Posts: 400

Post (Separately) Posted: Wed Nov 11, 2009 22:56    Post subject: Reply with quote

Поведение такое же, как описал D1P.

TC 7.50a, W`XPSP3rus
_________________
Back to top
View user's profile Send private message
D1P



Joined: 20 Dec 2004
Posts: 2973
Location: Тбилиси

Post (Separately) Posted: Thu Nov 12, 2009 08:41    Post subject: Reply with quote

Вахмурка
Я проверял на 7.5 и 7.5a, может в этом дело.
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group