Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.FTN.DEVELOP
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.FTN.DEVELOP с датами от 12 Jul 13 20:52:30 до 18 Oct 24 22:48:06, всего сообщений: 2735
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 565 из 2735 ==================================== RU.FTN.DEVELOP =
От   : Mithgol the Webmaster            2:50/88            18 Nov 14 18:57:22
Кому : Victor Smirnov                                      18 Nov 14 18:57:22
Тема : неправильный JAM или его кто портит
FGHI : area://RU.FTN.DEVELOP?msgid=2:50/88+546b716c
На   : area://RU.FTN.DEVELOP?msgid=2:5020/830.97@fidonet.org+546b3427
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.FTN.DEVELOP?msgid=2:5020/830.97@fidonet.org+546c7ca5
==============================================================================
Так было 14:57 18 Nov 14 написано от Victor Smirnov к All:

VS> Никто не сталкивался с неверной длиной поля SubField, которые следуют
VS> за подзаголовками JAM в hdr файле?

VS> По сути sizeof(JAM)+JAM.SubLen должны указывать на следующий заголовок,
VS> но этого не происходит.

VS> Голдед отображает 98000 сообщений в области.

VS> Я добавил в програмку функционал сканирования файла на предмет поиска
VS> JAM\0 вперед от sizeof(JAM)+JAM.SubLen и насчитал 133000 заголовков.

VS> Может кто из них пишет неправильный SubLen? или я неправильно читаю?

По факту дела обстоят таким образом, что sizeof(JAM)+JAM.SubLen указывают
на следующий заголовок только после упаковки базы командою `sqpack *`
или другой аналогичной. Обычно же, если размер сообщения уменьшился (например,
перед отправкою его отредактировали и что-то выбросили), то никто не заботится
о перетаскивании последующих сообщений впритык к новому (укороченному) хвосту
уменьшившегося сообщения.

Иными словами, прежде чтения заголовков из файла JHR неизбежным предшествующим
шагом должно быть чтение файла JDX, в котором лежат смещения заголовков. Причём
в файле JDX некоторые записи могут соответствовать удалённой фидопочте, так что
надо отбрасывать те записи, в которых смещение или CRC равны FFFFFFFF. Вот тебе
для примера мой код на языке JavaScript, занимающийся именно таким чтением
файла JDX:

https://github.com/Mithgol/node-fidonet-jam/blob/ae36f0/fidonet-jam.js#L92-121

После этого есть полный набор смещений и есть количество заголовков неудалённой
фидопочты, оно-то и является числом сообщений в эхе.

Располагая полным набором тех смещений, по которым в файле JHR располагаются
заголовки фидопочты, становится возможно читать такой заголовок по его номеру;
вот для примера мой код на языке JavaScript, достигающий этой цели:

https://github.com/Mithgol/node-fidonet-jam/blob/ae36f/fidonet-jam.js#L273-361


Фидонет будет великим и гипертекстовым!    [Ru.Mozilla]     http://Mithgol.Ru/
Mithgol the Webmaster.                    [Братство Нод] [Team А я меняю subj]

... [ADoM] Закусываешь ли ты пикси мерцающей собачатиной, Victor?
--- Знаешь ли ты, Victor, что "нагороженный" _не_ пишется через "ё"?
* Origin: ── А остальное?...   ── А остальное карбиды вольфрама!!.. (2:50/88)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.102131 секунды