Либо ошибся я, либо ls в корневой директории у меня не работает из-за ошибки в 70-ой и как следствие в 80-ой функции (можно списать на документацию). Правда в том, что я могу сделать конвертацию UTF16LE <-> ASCII и обойти проблему. Саму ошибку искать только буду - можете меня опередить (магия где-то в этом файле: http://websvn.kolibrios.org/filedetails ... fs_lfn.inc ).
Суть в том, что например 2, '/', 0, 'c', 0, 'd', 0, '2', 0, '/', 0, 0, 0 корректный путь, а db 2, '/', 0, 0, 0 не корректно. Во втором случае ядро считает абсолютный путь относительным, что не соответствует документации.
Выдержка из документации: "Можно указать кодировку строки, поместив в её начале байт." Более того: "В абсолютном пути можно поместить этот байт после '/' или добавить дополнительный '/' перед ним." Все случаи не тестировал, но для некоторых это тоже не работает. Возможно документация устарела.
Ошибки файловой системы
-
theonlymirage писал в http://board.kolibrios.org/viewtopic.ph ... 032#p70031
Из хаоса в космос
Про путь приложения, кодировки и префиксы у нас есть целая тема http://board.kolibrios.org/viewtopic.php?f=2&t=3429
В процессе СтарТрека выяснилось, что побайтовое чтение с дискеты fd1 в сотни/тысячи раз дольше, чем с tmp1/
Либу я поправлю - на кэширование, но возможно есть баг в самой фс (ну или в вмваре)
Либу я поправлю - на кэширование, но возможно есть баг в самой фс (ну или в вмваре)
Pathoswithin
Файл с именем содержащим тире не может быть прочитан на NTFS
Файл с именем содержащим тире не может быть прочитан на NTFS
Code: Select all
bug — dash.jpg
Spoiler:
Из хаоса в космос
Не может быть прочитан через юникод? А то в ср866 тире нету.
СР866. Что делать с такими файлами?
Символ распространенный. Появляется при копировании элемента в ту же папку: "Коики -- копия.jpg". Может его в дефис конвертировать или как по-другому?
80 функция обратно совместима с 70, но при этом позволяет работать с такими вот именами?
Кстати та же проблема с украинским буквами: Димна сум_ш.
Символ распространенный. Появляется при копировании элемента в ту же папку: "Коики -- копия.jpg". Может его в дефис конвертировать или как по-другому?
80 функция обратно совместима с 70, но при этом позволяет работать с такими вот именами?
Кстати та же проблема с украинским буквами: Димна сум_ш.
Из хаоса в космос
Такое стало происходить после некоторых правок в ядре. А раньше вроде как это работало.Leency wrote:Файл с именем содержащим тире не может быть прочитан на NTFS
И это уже обсуждалось ранее http://board.kolibrios.org/viewtopic.ph ... 235#p66231
Я предлагал сделать "Примерно как с короткими именами в FAT"
Наверняка из-под Windows доступ к таким файлам имеется даже через CreateFileA|FindFirstFileA . Если так — решение есть, нужно лишь реализовать его.
Pathoswithin
В результате ревизии #6867,
RtfRead при открытии без параметра читает содержимое неизвестно чего, но судя по всему пытается открыть весь диск как RTF.
Можешь глянуть?
В результате ревизии #6867,
RtfRead при открытии без параметра читает содержимое неизвестно чего, но судя по всему пытается открыть весь диск как RTF.
Можешь глянуть?
Из хаоса в космос
Я то глянул... http://websvn.kolibrios.org/comp.php?repname=Kolibri+OS&compare[]=%2F@6866&compare[]=%2F@6867
Только нужно больше информации.
Может я исправил какой-то баг, который считался фичей?
Только нужно больше информации.
Может я исправил какой-то баг, который считался фичей?
Я думаю баг в rtfread, лучше его глянь.
Из хаоса в космос
А это нормально, что файловая подсистема позволяет пользователю создавать папки "." и ".."?
Ну, в FAT они не создадутся, так как уже существуют, а для остальных файловых систем это просто обычные папки.
А в корневых директориях /rd/1/ /fd/1/ /tmp0/1/ и т.д. должны ли они создаваться? После такого в другой системе, примонтировавшей такой диск можно увидеть две папки "..".
По логике наверно не должны, но и проблемы из-за этого вряд ли возникнут.
Нашёл ошибку в ФС. Если приложение создаёт файл и размер файла больше размера памяти приложения, то имеем полное зависание.
Воспроизводится на последней ревизии, так и на древней svn7576-img.
Воспроизводится на последней ревизии, так и на древней svn7576-img.
Code: Select all
#define MEMSIZE 1024*10
#include "../lib/kolibri.h"
#include "../lib/fs.h"
void main()
{
CreateFile(12791, 0, "/tmp0/1/0.raw");
notify("'Success' -O"); //если 12791>1024*10 то успеха не будет :)
ExitProcess();
}
- Attachments
-
-
t.kex (398 Bytes)Downloaded 175 times
-
Из хаоса в космос
Who is online
Users browsing this forum: No registered users and 0 guests