Программа rd\1\develop\cobj выдает список функций библиотеки, по идее она прописана в файловых менеджерах для просмотра файлов obj.punk_joker wrote:И еще, есть ли общий способ узнать имена функций любой библиотеки?
libini + libio
Как удалить секцию в ini файле?
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Всем привет
Пробую у себя запустить сеть, Zeroconf должен загрузить (открыть) файл network.ini ,который находится в корневой директории, докопался до библиотеки libio ( file.open). Функция 70, подфункция 5 "получение информации о файле/папке" --возвращает ошибку 5 (файл не найден). Меня смущает, что эта подфункция не поддерживает виртуальные папки типа /, /rd и корневые папки типа /rd/1.
Так ли это?
Пробую у себя запустить сеть, Zeroconf должен загрузить (открыть) файл network.ini ,который находится в корневой директории, докопался до библиотеки libio ( file.open). Функция 70, подфункция 5 "получение информации о файле/папке" --возвращает ошибку 5 (файл не найден). Меня смущает, что эта подфункция не поддерживает виртуальные папки типа /, /rd и корневые папки типа /rd/1.
Так ли это?
Сделай шаг, и дорога появится сама собой
Стив Джобс
Стив Джобс
G@К
network.ini должен обрабатываться ф.70.5, если есть подозрение на бибилотеку, то всегда можно написать тестовый пример на основе example.asm
network.ini должен обрабатываться ф.70.5, если есть подозрение на бибилотеку, то всегда можно написать тестовый пример на основе example.asm
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Вероятно в текущей версии никак.GerdtR wrote:Как удалить секцию в ini файле?
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
В том то все и дело, что файл не загружается и zeroconf не выставляет IP,DNS, и т.д.Mario_r4 wrote:G@К
network.ini должен обрабатываться ф.70.5, если есть подозрение на бибилотеку, то всегда можно написать тестовый пример на основе example.asm
Сделай шаг, и дорога появится сама собой
Стив Джобс
Стив Джобс
Каким образом можно добавить секцию?
to infinity and beyond
Я так понимаю, что она формируется сама, когда вписывается первый параметр.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
G@К:
network.ini, if present, can always be found on the path '/sys/network.ini'
network.ini, if present, can always be found on the path '/sys/network.ini'
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
Исправил баг с потерей памяти. Кому не трудно, закиньте на SVN.
- Attachments
-
-
libini.zip (12.9 KiB)Downloaded 354 times
-
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Дайте уже человеку доступ к SVN!
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Да я с чужого компа)))
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Сделал в r. 3920. Спасибо за исправление.GerdtR wrote:Кому не трудно, закиньте на SVN.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Обнаружил небольшую неточность документации или баг в libio, смотря, с какой стороны посмотреть. Если предполагается возможность использования libio в ЯВУ, то это скорее баг.
В исходнике в описании к функции file_size указано следующее:
Во-первых, для нормального использования в ЯВУ возвращать результат нужно в eax (я - капитан, но все остальные функции библиотеки возвращают результат в eax, как и положено). Во-вторых, на самом деле в eax возвращается код ошибки/успеха, а в ebx размер файла в случае успеха (eax = 0).
Проблема, конечно, совсем не критичная, но когда сталкиваешься с подобными "особенностями" на практике, это доставляет некоторый дискомфорт (по крайней мере, мне ). Приходится вникать в код библиотеки, а новых разработчиков это может отпугнуть.
Также, в вики написано, что результат возвращается в eax, но так как я прочитал предупреждение, которое висит на каждой странице, то это уже просто заметка.
Пофиксить (возвращая размер файла в eax, -1 при ошибке) данную "особенность" может быть непросто, так как придется фиксить и все программы, которые используют функцию file_size (правда, я не знаю, сколько таких ). Возможно, стоит уточнить документацию, или сделать вторую функцию, условно говоря, file_size2, которая будет возвращать результат в eax.
В исходнике в описании к функции file_size указано следующее:
Code: Select all
< ebx = -1 (error) / file size (in bytes, up to 2G) <dword>
Проблема, конечно, совсем не критичная, но когда сталкиваешься с подобными "особенностями" на практике, это доставляет некоторый дискомфорт (по крайней мере, мне ). Приходится вникать в код библиотеки, а новых разработчиков это может отпугнуть.
Также, в вики написано, что результат возвращается в eax, но так как я прочитал предупреждение, которое висит на каждой странице, то это уже просто заметка.
Пофиксить (возвращая размер файла в eax, -1 при ошибке) данную "особенность" может быть непросто, так как придется фиксить и все программы, которые используют функцию file_size (правда, я не знаю, сколько таких ). Возможно, стоит уточнить документацию, или сделать вторую функцию, условно говоря, file_size2, которая будет возвращать результат в eax.
Как описано в документации, file_open возвращает 0 или file descriptor (InternalFileInfo), однако, в статье нет расшифровки этого типа (среди списка структур его тоже нет).
Является ли InternalFileInfo стандартным типом FILE? (судя по коду в libio.asm, нет)
Upd:
Файл libio_p.inc:
Upd:
Файл libio_p.inc:
Code: Select all
struct InternalFileInfo
Mode dd ?
Position dd ?
FileName rb 260
ends
Who is online
Users browsing this forum: No registered users and 9 guests