Page 2 of 3

Re: libini

Posted: Fri Jul 05, 2013 9:17 pm
by IgorA
punk_joker wrote:И еще, есть ли общий способ узнать имена функций любой библиотеки?
Программа rd\1\develop\cobj выдает список функций библиотеки, по идее она прописана в файловых менеджерах для просмотра файлов obj.

Re: libini

Posted: Sun Jul 21, 2013 9:27 pm
by GerdtR
Как удалить секцию в ini файле?

Re: libini

Posted: Sun Jul 21, 2013 11:21 pm
by G@К
Всем привет
Пробую у себя запустить сеть, Zeroconf должен загрузить (открыть) файл network.ini ,который находится в корневой директории, докопался до библиотеки libio ( file.open). Функция 70, подфункция 5 "получение информации о файле/папке" --возвращает ошибку 5 (файл не найден). Меня смущает, что эта подфункция не поддерживает виртуальные папки типа /, /rd и корневые папки типа /rd/1.
Так ли это?

Re: libini

Posted: Sun Jul 21, 2013 11:37 pm
by Mario_r4
G@К
network.ini должен обрабатываться ф.70.5, если есть подозрение на бибилотеку, то всегда можно написать тестовый пример на основе example.asm

Re: libini

Posted: Sun Jul 21, 2013 11:39 pm
by Mario_r4
GerdtR wrote:Как удалить секцию в ini файле?
Вероятно в текущей версии никак.

Re: libini

Posted: Mon Jul 22, 2013 7:02 am
by G@К
Mario_r4 wrote:G@К
network.ini должен обрабатываться ф.70.5, если есть подозрение на бибилотеку, то всегда можно написать тестовый пример на основе example.asm
В том то все и дело, что файл не загружается и zeroconf не выставляет IP,DNS, и т.д. :(

Posted: Sat Aug 24, 2013 10:18 am
by punk_joker
Каким образом можно добавить секцию?

Re: libini

Posted: Sat Aug 24, 2013 11:28 am
by Mario_r4
Я так понимаю, что она формируется сама, когда вписывается первый параметр.

Re: libini

Posted: Sat Aug 24, 2013 4:40 pm
by hidnplayr
G@К:
network.ini, if present, can always be found on the path '/sys/network.ini'

Re: libini

Posted: Sat Sep 21, 2013 2:12 pm
by GerdtR
Исправил баг с потерей памяти. Кому не трудно, закиньте на SVN.

Re: libini

Posted: Sat Sep 21, 2013 2:25 pm
by Mario_r4
Дайте уже человеку доступ к SVN!

Re: libini

Posted: Sat Sep 21, 2013 2:46 pm
by GerdtR
Да я с чужого компа)))

Re: libini

Posted: Sat Sep 21, 2013 3:02 pm
by Mario_r4
GerdtR wrote:Кому не трудно, закиньте на SVN.
Сделал в r. 3920. Спасибо за исправление.

Неточность документации / баг в libio

Posted: Fri Jan 16, 2015 12:15 am
by Anton_K
Обнаружил небольшую неточность документации или баг в libio, смотря, с какой стороны посмотреть. Если предполагается возможность использования libio в ЯВУ, то это скорее баг.

В исходнике в описании к функции file_size указано следующее:

Code: Select all

< ebx = -1 (error) / file size (in bytes, up to 2G) <dword>
Во-первых, для нормального использования в ЯВУ возвращать результат нужно в eax (я - капитан, но все остальные функции библиотеки возвращают результат в eax, как и положено). Во-вторых, на самом деле в eax возвращается код ошибки/успеха, а в ebx размер файла в случае успеха (eax = 0).

Проблема, конечно, совсем не критичная, но когда сталкиваешься с подобными "особенностями" на практике, это доставляет некоторый дискомфорт (по крайней мере, мне :) ). Приходится вникать в код библиотеки, а новых разработчиков это может отпугнуть.

Также, в вики написано, что результат возвращается в eax, но так как я прочитал предупреждение, которое висит на каждой странице, то это уже просто заметка.

Пофиксить (возвращая размер файла в eax, -1 при ошибке) данную "особенность" может быть непросто, так как придется фиксить и все программы, которые используют функцию file_size (правда, я не знаю, сколько таких :) ). Возможно, стоит уточнить документацию, или сделать вторую функцию, условно говоря, file_size2, которая будет возвращать результат в eax.

Re: libini + libio

Posted: Wed Jan 28, 2015 9:04 pm
by igevorse
Как описано в документации, file_open возвращает 0 или file descriptor (InternalFileInfo), однако, в статье нет расшифровки этого типа (среди списка структур его тоже нет).
Является ли InternalFileInfo стандартным типом FILE? (судя по коду в libio.asm, нет)
Upd:
Файл libio_p.inc:

Code: Select all

struct InternalFileInfo
  Mode     dd ?
  Position dd ?
  FileName rb 260
ends