[02:18:36] <vgodunko> Вполне
[02:18:43] <vgodunko> Если так задумано конечно
[10:06:25] <landgraf> гуд
[14:31:09] <landgraf> как C.unsigned_char привести к чему-нибудь печатаемому?
[14:32:57] <landgraf> fixed
[14:33:05] <yeo> можно так
X : C.unsigned_char;
Character'Val (X);
[14:34:02] <landgraf> я просто 'Img сделал
[14:34:10] <landgraf> и напечаталось нормально...
[14:34:28] <yeo> а, я думал ты символ хочешь
[14:41:25] <landgraf> /me играется с Stream_IO, читает RPM
[14:42:57] <landgraf> еще бы найти нормальную документацию по формату
[14:43:06] <landgraf> везде сплошные FIXME
[14:44:26] <yeo> RPM это не формат, это красивый слоган ;)
[14:47:42] <landgraf> ну хидер (сишная структура) довольно легко и непринужденно прочиталась
[14:47:47] <landgraf> а вот дальше....
[14:50:23] <landgraf> http://refspecs.linux-foundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/pkgformat.html#AEN38735 вот!
[16:40:55] <landgraf> есть osnum : Interfaces.C.short;  когда вывожу его Put_Line(osnum'Img) то получаю 256, а должно быть 1. почему так?
[16:41:18] <landgraf> в оригинальной структуре она описывается как     short osnum;
[16:41:47] <yeo> big engine может быть?
[16:42:05] <landgraf> что это?
[16:42:16] <yeo> ну порядок байт в слове
[16:43:16] <landgraf> а как это идентифицировать?
[16:43:30] <landgraf> потому что у меня для других short-ов тоже поломались значения
[16:43:45] <landgraf> для char-ов все нормально, а short и int поломались
[16:44:34] <yeo> обычно пишут
[16:46:06] <yeo> " All values are stored in network byte order."
[16:46:14] <yeo> в самом начале
[16:47:33] <landgraf> http://fpaste.org/Hfhp/ вот так написано
[16:49:10] <yeo> ну в том документе, что ты ссылку кинул в самом начале пишут про порядок байт
[16:49:38] <landgraf> блин, точно
[16:49:49] <landgraf> а как из них получить адские типы?
[16:50:44] <yeo> помойму нельзя в Аде указывать в каком порядке байты, только узнать можно
[16:51:35] <landgraf> http://www.chiark.greenend.org.uk/~mroe/Ada/bswap/index.html
[16:56:26] <landgraf>      function htons( s : short ) return short;
       pragma import( C, htons );
[22:28:10] <landgraf> а как в Stream_IO; пропустить N байтов
[22:29:33] <vgodunko> Прочитать их в массив
[22:29:43] <subjrs> read > /dev/null ? ))
[22:30:18] <vgodunko> Типа того
[22:30:28] <subjrs> seek там по определению не может быть
[22:35:06] <landgraf> это же надо как-то вычислить какой массив нужен.
[22:35:35] <subjrs> на то он и стрим, что не вычислить
[22:36:06] <landgraf> в спеке написано что начало нового хидера определяется M1 = 0xed, M2 = 0xab, M3 = 0xee, M4 = 0xdb, как-нибудь можно читать файл до этих символов?
[22:36:15] <landgraf>     16#8E#
    16#AD#
    16#E8#
     16#1#
[22:36:17] <landgraf> вот этих
[22:36:47] <subjrs> побайтово
[22:37:03] <landgraf> в хидерах хранится offset с которого надо читать data, вот как эти оффсеты из ады юзать, хз
[22:37:23] <landgraf> subjrs, считывать побайтово в массив и массив проверять на равенство?
[22:37:40] <subjrs> побайтево пропускать символы пока до нужного не дойдешь (
[22:37:41] <landgraf> TAG is 62,  count= 16, offset= 68, type= 7
TAG is 269,  count= 1, offset= 0, type= 6
TAG is 1000,  count= 1, offset= 44, type= 4
TAG is 1004,  count= 16, offset= 48, type= 7
TAG is 1007,  count= 1, offset= 64, type= 4
[22:37:42] <landgraf> вот так
[22:37:43] <subjrs> )
[22:38:16] <subjrs> либо записать все сначала ,и открыть как direct_io а не стрим
[22:39:27] <landgraf> для direct_io нужен же формат предопределенный
[22:40:06] <subjrs> чтоб я помнил
[22:40:27] <landgraf> subjrs, http://www.infres.enst.fr/~pautet/Ada95/chap24.htm
[22:40:29] <subjrs> там в любом случае есть режим когда можно seek делать на любую позицию
[22:40:48] <landgraf> Direct I/O is used for random access files which contain only elements of one specific type.
[22:41:14] <landgraf> subjrs, direct_io это generic, там нужно указать тип который в файле храниться
[22:41:18] <landgraf> хранится
[22:41:59] <landgraf> Sequential I/O может?
[22:44:02] <landgraf> не, тут только стримами можно...
[23:34:57] <landgraf>    procedure Set_Index(File : in File_Type; To : in Positive_Count);
[23:35:02] <landgraf> это то, что мне надо?
[23:36:22] <vgodunko> Объём Ada кода в Матрёшке в октябре этого года преодолел рубеж в один миллион строк!