Ошибки файловой системы

Drive subsystem, filesystem drivers
  • Проблема "древняя, как сама система", во всех файловых системах всякие кодировки и рядом не валялись, везде юникод. Единственное нормальное решение - научить юникоду программы, в том числе и openfile dialog.
  • Баг.

    1. открываем SHELL
    2. пишем pwd
    3. enter

    rev 6501: http://prntscr.com/cq8vga
    rev 6501: http://prntscr.com/cq8u9s

    Этот неловкий момент, когда и на работе тестируешь и дома. :D
    Из хаоса в космос
  • Не баг, а фича. ©
    chatlogs/chatlog2016-09-24.html
  • Прочитал, не уверен что понял; устал хочу спать. Не баг, так не баг.

    Пусть тема будет для баг репортов.
    Из хаоса в космос
  • Есть бага: ФС не может прочитать украинскую будку i/I. Файл не открывается ни в одном редакторе.
    Проблемный файл прилагаю.
    Attachments
    Downloaded 205 times
    1.png
    1.png (48 KiB)
    Viewed 6818 times
    Из хаоса в космос
  • Потому что нет такой буквы в ср866, только через юникод.
  • Не знаю, баг или нет, надо еще посмотреть, что задумано в драйвере и что происходит

    При попытке создать файл с видимо невалидными символами (русскими?), они частично заменяются на _

    Для начала, где это преобразование живет?
  • Pathoswithin
    Пользователям всё равно, что оно раньше неправильно работало, а теперь правильно не работает. Я понимаю, что ты хотел как лучше, но зачем делать как всегда ? Создай бранч и там тестируй.
  • Pathoswithin wrote:Потому что нет такой буквы в ср866, только через юникод.
    Но отображаются как раз те, которые есть Димна Сум_ш - О Боже М_й.mp3.
    Это может в украинской сборке должно открыться? Просто в одной из старых сборок #2306 этот файл также не читается(значит, это не из-за правок Pathoswithin :mrgreen: ). Но ведь отображается! Вот это странно вообще. По идее, это только с отображением должны быть проблемы. Хотя понятно, что весь unicode нельзя однозначно отобразить на cp866.
  • Работало только для FAT. Действительно, можно вернуть как раньше, сделав костыльчик, суть которого в том, что "_" равен любому символу. Всё хорошо до тех пор, пока между именами есть отличия среди поддерживаемых символов, иначе, например, пытаясь удалить один файл можно удалить другой.

    Делать костыль?
  • Кстати, из zip-архива файл прекрасно распаковывается и проигрывается.
    Pathoswithin, ты другой лучше сделай костыльчик. Примерно как с короткими именами в FAT.
  • Pathoswithin wrote:Работало только для FAT. Действительно, можно вернуть как раньше, сделав костыльчик, суть которого в том, что "_" равен любому символу. Всё хорошо до тех пор, пока между именами есть отличия среди поддерживаемых символов, иначе, например, пытаясь удалить один файл можно удалить другой.

    Делать костыль?
    Скорее не совсем так -
    Делаем функцию - фильтр имен для файловой системы fn(X0)->Y, где X - с чем обращаются, Y- преобразованное допустимое

    Если fn(X1) == fn(X2), то файлы считаем эквивалентными

    Это более строгое условие, чем джокерная '_' и можно будет потом его усиливать.

    Накладки конечно возможны, но не особо реально будут мешать. Максимум - программы будут получать сообщение, что файл с подобным именем уже есть и реагировать соотв
  • Siemargl wrote:Делаем функцию
    Ну я и говорю, примерно как с короткими именами в FAT.
    Когда вместо qwertyuiop.txt создаётся qwerty~1.txt, вместо qwertyasdf.txt создаётся qwerty~2.txt, ну и т.д.
  • 0CodErr wrote:Кстати, из zip-архива файл прекрасно распаковывается и проигрывается.
    Pathoswithin, ты другой лучше сделай костыльчик. Примерно как с короткими именами в FAT.
    У меня ни открывался, ни проигровался.
    Запускал с флешки FAT32 (реальная машина) и с CD диска (QEMU).
    Из хаоса в космос
  • Who is online

    Users browsing this forum: No registered users and 1 guest