libini + libio

Discussing libraries simplifying applications development
  • Как удалить секцию в ini файле?
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Всем привет
    Пробую у себя запустить сеть, Zeroconf должен загрузить (открыть) файл network.ini ,который находится в корневой директории, докопался до библиотеки libio ( file.open). Функция 70, подфункция 5 "получение информации о файле/папке" --возвращает ошибку 5 (файл не найден). Меня смущает, что эта подфункция не поддерживает виртуальные папки типа /, /rd и корневые папки типа /rd/1.
    Так ли это?
    Сделай шаг, и дорога появится сама собой

    Стив Джобс
  • G@К
    network.ini должен обрабатываться ф.70.5, если есть подозрение на бибилотеку, то всегда можно написать тестовый пример на основе example.asm
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • GerdtR wrote:Как удалить секцию в ini файле?
    Вероятно в текущей версии никак.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4 wrote:G@К
    network.ini должен обрабатываться ф.70.5, если есть подозрение на бибилотеку, то всегда можно написать тестовый пример на основе example.asm
    В том то все и дело, что файл не загружается и zeroconf не выставляет IP,DNS, и т.д. :(
    Сделай шаг, и дорога появится сама собой

    Стив Джобс
  • Каким образом можно добавить секцию?
    to infinity and beyond
  • Я так понимаю, что она формируется сама, когда вписывается первый параметр.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • G@К:
    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 348 times
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Дайте уже человеку доступ к SVN!
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Да я с чужого компа)))
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • GerdtR wrote:Кому не трудно, закиньте на SVN.
    Сделал в r. 3920. Спасибо за исправление.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Обнаружил небольшую неточность документации или баг в 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.
  • Как описано в документации, 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
  • Who is online

    Users browsing this forum: No registered users and 5 guests