Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Apr 20, 2019 7:52 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 30 posts ]  Go to page Previous 1 2
Author Message
 Post subject: Re: libini
PostPosted: Fri Jul 05, 2013 9:17 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
punk_joker wrote:
И еще, есть ли общий способ узнать имена функций любой библиотеки?

Программа rd\1\develop\cobj выдает список функций библиотеки, по идее она прописана в файловых менеджерах для просмотра файлов obj.


Top
   
 Post subject: Re: libini
PostPosted: Sun Jul 21, 2013 9:27 pm 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 455
Как удалить секцию в ini файле?

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Top
   
 Post subject: Re: libini
PostPosted: Sun Jul 21, 2013 11:21 pm 
Offline

Joined: Tue Apr 16, 2013 10:22 am
Posts: 9
Всем привет
Пробую у себя запустить сеть, Zeroconf должен загрузить (открыть) файл network.ini ,который находится в корневой директории, докопался до библиотеки libio ( file.open). Функция 70, подфункция 5 "получение информации о файле/папке" --возвращает ошибку 5 (файл не найден). Меня смущает, что эта подфункция не поддерживает виртуальные папки типа /, /rd и корневые папки типа /rd/1.
Так ли это?

_________________
Сделай шаг, и дорога появится сама собой

Стив Джобс


Top
   
 Post subject: Re: libini
PostPosted: Sun Jul 21, 2013 11:37 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
G@К
network.ini должен обрабатываться ф.70.5, если есть подозрение на бибилотеку, то всегда можно написать тестовый пример на основе example.asm

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
 Post subject: Re: libini
PostPosted: Sun Jul 21, 2013 11:39 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
GerdtR wrote:
Как удалить секцию в ini файле?

Вероятно в текущей версии никак.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
 Post subject: Re: libini
PostPosted: Mon Jul 22, 2013 7:02 am 
Offline

Joined: Tue Apr 16, 2013 10:22 am
Posts: 9
Mario_r4 wrote:
G@К
network.ini должен обрабатываться ф.70.5, если есть подозрение на бибилотеку, то всегда можно написать тестовый пример на основе example.asm


В том то все и дело, что файл не загружается и zeroconf не выставляет IP,DNS, и т.д. :(

_________________
Сделай шаг, и дорога появится сама собой

Стив Джобс


Top
   
 Post subject:
PostPosted: Sat Aug 24, 2013 10:18 am 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1142
Каким образом можно добавить секцию?

_________________
я лишь учусь


Top
   
 Post subject: Re: libini
PostPosted: Sat Aug 24, 2013 11:28 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Я так понимаю, что она формируется сама, когда вписывается первый параметр.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
 Post subject: Re: libini
PostPosted: Sat Aug 24, 2013 4:40 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Fri Jun 30, 2006 9:01 am
Posts: 1247
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


Top
   
 Post subject: Re: libini
PostPosted: Sat Sep 21, 2013 2:12 pm 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 455
Исправил баг с потерей памяти. Кому не трудно, закиньте на SVN.


Attachments:
libini.zip [12.9 KiB]
Downloaded 114 times

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Top
   
 Post subject: Re: libini
PostPosted: Sat Sep 21, 2013 2:25 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Дайте уже человеку доступ к SVN!

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
 Post subject: Re: libini
PostPosted: Sat Sep 21, 2013 2:46 pm 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 455
Да я с чужого компа)))

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Top
   
 Post subject: Re: libini
PostPosted: Sat Sep 21, 2013 3:02 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
GerdtR wrote:
Кому не трудно, закиньте на SVN.

Сделал в r. 3920. Спасибо за исправление.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Fri Jan 16, 2015 12:15 am 
Offline
User avatar

Joined: Thu Nov 27, 2014 1:24 am
Posts: 71
Обнаружил небольшую неточность документации или баг в libio, смотря, с какой стороны посмотреть. Если предполагается возможность использования libio в ЯВУ, то это скорее баг.

В исходнике в описании к функции file_size указано следующее:
Code:
< 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.


Top
   
 Post subject: Re: libini + libio
PostPosted: Wed Jan 28, 2015 9:04 pm 
Offline

Joined: Sat Dec 20, 2014 8:37 pm
Posts: 18
Как описано в документации, file_open возвращает 0 или file descriptor (InternalFileInfo), однако, в статье нет расшифровки этого типа (среди списка структур его тоже нет).
Является ли InternalFileInfo стандартным типом FILE? (судя по коду в libio.asm, нет)
Upd:
Файл libio_p.inc:
Code:
struct InternalFileInfo
  Mode     dd ?
  Position dd ?
  FileName rb 260
ends


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 30 posts ]  Go to page Previous 1 2

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:  
Powered by phpBB® Forum Software © phpBB Limited