File System Library (FSL)
-
В callback-функцию предается указатель н строку с именем файла, или как? И callback-функция вызывается перед началом каких либо операций над файлом?to infinity and beyond
Если например callback ф-ция копирования, то регистр ECX держит название пути от куда копируется файл, а EDX куда.punk_joker wrote:В callback-функцию предается указатель н строку с именем файла, или как? И callback-функция вызывается перед началом каких либо операций над файлом?
Она вызывается при операции над файлом, если 300 файлов копируется, то 300 вызывается.
На счет кол-во файлов и папок. Сделал из можно получить при получении размера файла. Т.е. вызываешь к примеру fs.get_size("/sys/") -> EAX регистр содержит размер папки, а ECX -> кол-во вложенных папок, EDX кол-во файлов.
Технологии меняют мир, а я - меняю технологии.
Это уже реализовано? Если да, то кодpavelyakov wrote:На счет кол-во файлов и папок. Сделал из можно получить при получении размера файла. Т.е. вызываешь к примеру fs.get_size("/sys/") -> EAX регистр содержит размер папки, а ECX -> кол-во вложенных папок, EDX кол-во файлов.
Code: Select all
fs.get_size(#file_path);
size_dir = EAX;
file_count = EDX;
dir_count =ECX;
to infinity and beyond
Ты преобразовывал в строковой вид?punk_joker wrote:Это уже реализовано? Если да, то кодpavelyakov wrote:На счет кол-во файлов и папок. Сделал из можно получить при получении размера файла. Т.е. вызываешь к примеру fs.get_size("/sys/") -> EAX регистр содержит размер папки, а ECX -> кол-во вложенных папок, EDX кол-во файлов.Выводит всякую чушьCode: Select all
fs.get_size(#file_path); size_dir = EAX; file_count = EDX; dir_count =ECX;
Технологии меняют мир, а я - меняю технологии.
Зачем? Выводится так
sprintf(#folder_info,"%s%d%s%d",SET_6,file_count,SET_7,dir_count);
sprintf(#folder_info,"%s%d%s%d",SET_6,file_count,SET_7,dir_count);
to infinity and beyond
Что показывает? Посмотрел вроде нормально показывает, мб через регистры плохая идея передавать, возможно они меняются..punk_joker wrote:Зачем? Выводится так
sprintf(#folder_info,"%s%d%s%d",SET_6,file_count,SET_7,dir_count);
Если программа не вылетает, запили так тогда, я посмотрю и исправлю недочеты в либе.
Технологии меняют мир, а я - меняю технологии.
Кинь код на котором проверялpavelyakov wrote:Что показывает? Посмотрел вроде нормально показывает, мб через регистры плохая идея передавать, возможно они меняются..punk_joker wrote:Зачем? Выводится так
sprintf(#folder_info,"%s%d%s%d",SET_6,file_count,SET_7,dir_count);
Если программа не вылетает, запили так тогда, я посмотрю и исправлю недочеты в либе.
to infinity and beyond
Залил. Постарайся с этим разобраться в ближайшее время, иначе я не смогу продолжить работу над исправлением ошибок.
to infinity and beyond
Исправил, правда вместо прошлого размера (файла/папки) формата long long, поменял на int, надо будет потом попробовать через стек передать.punk_joker wrote:Залил. Постарайся с этим разобраться в ближайшее время, иначе я не смогу продолжить работу над исправлением ошибок.
Технологии меняют мир, а я - меняю технологии.
При копировании одного файла, callback-функция не вызывается
to infinity and beyond
поменялpunk_joker wrote:При копировании одного файла, callback-функция не вызывается
Технологии меняют мир, а я - меняю технологии.
Так я не понял, она что, по 1 Мб файл копирует? Это слишком мало, даже KFM четверть памяти берёт. А лучше брать половину. Тем более, в NTFS по началу не будет поддерживаться редактирование.
проверь библиотеку на признак отладочной инфы
to infinity and beyond
По возможности пофиксю, сейчас я в армии
Технологии меняют мир, а я - меняю технологии.
Offtopic:
О! Колибри ОС и в армии появилась.pavelyakov wrote:По возможности пофиксю, сейчас я в армии
Who is online
Users browsing this forum: No registered users and 0 guests