Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Dec 16, 2019 10:42 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 122 posts ]  Go to page Previous 14 5 6 7 8 9 Next
Author Message
PostPosted: Wed Feb 08, 2017 9:40 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
При копировании с tmp содержимого cmake viewtopic.php?f=31&t=659&start=150#p67822
Вообще не понятно, из других мест вроде копирует. В общем, попробуй разобраться.


Top
   
PostPosted: Wed Feb 08, 2017 9:45 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Pathoswithin wrote:
содержимого cmake
Siemargl wrote:
из https://cmake.org/download/ берем архив cmake-3.7.1-win32-x86.zip
Хмм, я что-то не нахожу там 3.7.1, но есть 3.7.2.
Ага, вон там есть https://cmake.org/files/v3.7/


Top
   
PostPosted: Wed Feb 08, 2017 9:59 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Проверил в VirtualBox.
Создал 2 tmp-диска по 60 Mb каждый.
Разархивировал внутри колибри с помощью KFAR с /cd2/1 на /tmp1/1.
Копировал с помощью fNav с /tmp1/1 на /tmp0/1.
Успешно. Ошибок не было.
Attachment:
1.PNG
1.PNG [ 16.45 KiB | Viewed 2163 times ]


Top
   
PostPosted: Wed Feb 08, 2017 10:26 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
Не, всё таки ошибка при копировании на ext2 (cmake-3.7.2). Но все равно не понятно: Shell копирует, KFAR копирует, Eolite вроде тоже...


Top
   
PostPosted: Wed Feb 08, 2017 10:37 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Ну только размер буфера другой.


Top
   
PostPosted: Wed Feb 08, 2017 10:55 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
Не, с разным размером буфера одинаково, тут что-то ещё. Папки создаёт, а на первом же файле EOF. Что он вообще делает при копировании файла?


Top
   
PostPosted: Wed Feb 08, 2017 11:00 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Сначала создаётся(SysFn70.2) пустой файл нулевой длины.
Проверяется возвращаемый результат, если <> 0, то Error.
Ну а потом в цикле ReadFile + WriteFile.

Попробуй, кстати, GenFiles ещё. Она только создаёт файлы.


Top
   
PostPosted: Thu Feb 09, 2017 6:40 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
Ага! Таки fnav. При создании файла нужно обнулять смещение, для ext это важно.


Top
   
PostPosted: Thu Feb 09, 2017 7:33 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Pathoswithin wrote:
нужно обнулять смещение
Но зачем?
Вообще-то SysFn70.2 это Create|Rewrite.
Хотя, если это только создание, то оно действительно обнуляется, как я и писал выше
0CodErr wrote:
Сначала создаётся(SysFn70.2) пустой файл нулевой длины.
Примерно как в GenFiles http://websvn.kolibrios.org/filedetails ... m#line-213
Ты пробовал GenFiles?


Top
   
PostPosted: Thu Feb 09, 2017 9:08 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
Как ты любишь говорить, так в документации написано. Может кто-то захочет, чтоб я сделал возможность создания файлов с записью данных с указанного места. А по факту, там общий код с 70.3.
Обнуляется не всегда. Я сделал вывод на доску с 70.2 и когда ошибка - там не ноль.


Top
   
PostPosted: Thu Feb 09, 2017 9:20 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Pathoswithin wrote:
Может кто-то захочет, чтоб я сделал возможность создания файлов с записью данных с указанного места.
В данном случае не имеет значения, с какого места. Потому что вот тут
Code:
  * +12 = +0xC: dword: number of bytes to write
значение равно нулю. То есть, по факту я ничего и не собирался никуда писать. Поэтому Count = 0.
Если в других ФС проблем нет, то надо просто добавить для ext проверку типа "If Count = 0 ..."


Top
   
PostPosted: Fri Feb 10, 2017 12:36 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
Для данного случая исправил, но всё равно то что зарезервировано должно быть равно нулю. Я подумал, будет полезно сделать возможность создавать пустой файл указанного размера, без использования 70.4.


Top
   
PostPosted: Fri Feb 10, 2017 7:47 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Так оно зарезервировано для Rewrite, потому что запись идёт с начала файла(смещение 0), а Create вообще не должна учитывать эти поля, так как для Create они просто не нужны(и зачем только они проверялись в ext?).
Pathoswithin wrote:
возможность создавать пустой файл указанного размера, без использования 70.4
Тогда надо будет нулями заполнять. По аналогии
Quote:
if size difference is up to 16 MB, new space will be cleared with 0.
А почему там, кстати, такое ограничение 16 Mb?


Top
   
PostPosted: Fri Feb 10, 2017 8:53 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
У 70 функции есть ещё и общее описание структуры. У NTFS тоже Rewrite и Write используют общий код. Ну и написано довольно чётко: 0 (зарезервировано).

Я ограничил, потому что нехорошая функция получается: максимальный размер файла ограничен только у FAT, а в остальных ФС можно задать размер 100 ГБ - вот уж где раздел действительно зависнет, если столько обнулять. Да и смысл такой функции в том, чтоб быстро создать большой файл, а потом писать в него данные.


Top
   
PostPosted: Fri Apr 07, 2017 11:59 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
Такая хотела, сделать поддержку системного масштабируемого шрифта. Желательно с возможностью ручного задания коэффициента масштабирования, или использование системной переменный, и выбор между этими вариантами

_________________
я лишь учусь


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 122 posts ]  Go to page Previous 14 5 6 7 8 9 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


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 post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited