#11
|
|||
|
|||
Jam VS Squish
Alexey Fayans написал(а) к Nil A в Jan 24 10:08:18 по местному времени:
Нello Nil! On Mon, 29 Jan 2024 05:35 +0300, in a message to me, you wrote: NA> Так-то можно заморочиться, в "дырки" писать. Формат Squish очень прост. Фреймы идут друг за другом. В индексе хранится связь абсолютного номера соощения (UMSGID) с позицией фрейма (Offset), и хэш поля To. Если Offset == 0, сообщение удалено. В JAM примерно так же, просто -1 вместо 0. В обоих случаях (JAM и Squish) ты можешь высчитать количество байт между концом последнего сообщения перед удалённым и началом первого сообщения после, и если места хватит, пихнуть туда фрейм. Правда в случае с JAM нужно будет такой же фокус проделать ещё и с файлом заголовков. Довольно трудозатратно и напрочь лишено смысла, поэтому так никто не делает, насколько мне известно. NA> Кто спеки читал, а их есть Jam в .arj архив оригинального на Си API NA> лежит, а для Сквиша - был squish sdk с squish.txt, потом его NA> переформатировали, без добавления в FSP-1037. Так вот, кто спеки NA> читал, тот прочитает сообщения в дырках. Так ты сам бы их почитал что ли. У меня они есть и я их хорошо понимаю. :) Если в "дырку" правильно записать, то и прочитается всё оттуда без проблем. NA> Хотя, есть проблема с Jam, там можно удалять по-разному, и даже голдед NA> имеет настройку как именно удалять. В JAM есть аттрибут MSG_DELETED (0x80000000L), голдед может считать сообщения с этим аттрибутом удалёнными (как и задумано), а может их отображать. Никаких других настроек на эту тему в голдеде нет, и проблем никаких это не вызывает. ... Music Station BBS | https://bbs.bsrealm.net | telnet://bbs.bsrealm.net --- GoldED+/W32-MSVC 1.1.5-b20230826 |