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


Присутствуют сообщения из эхоконференции RU.GOLDED с датами от 16 Jul 13 03:28:02 до 02 Jul 24 03:28:00, всего сообщений: 3581
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 2765 из 3581 ======================================== RU.GOLDED =
От   : Semen Panevin                    2:5025/121         04 Oct 23 11:35:20
Кому : Vitaliy Aksyonov                                    04 Oct 23 11:35:20
Тема : Re: Еще один крэш
FGHI : area://RU.GOLDED?msgid=2:5025/121+651d2607
На   : area://RU.GOLDED?msgid=1:104/117+651cd052
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.GOLDED?msgid=1:104/117+651d655e
==============================================================================
    Доброго здоровьица тебе, Vitaliy!

 Tuesday October 03 2023 20:33, Vitaliy Aksyonov писал Semen Panevin:

VA>> Там есть заезд по памяти в одном месте точно. В файле
VA>> goldlib\gall\gespell.cpp в функции void
VA>> CSpellLang::RecodeText(const char *srcText, std::string &dstText,
VA>> bool flag) найди строку char *dstbuffer = new char[srcLen+1]; и
VA>> сделай буффер побольше, например вот так char *dstbuffer = new
VA>> char[srcLen * 4 + 1];
Видимо после фикса таблицы перекодировки я наступил именно на это :)

Сразу после создания сообщения-ответа со включенным спеллчекером теперь упало.

malloc(): invalid size (unsorted)' ^
Привет, Semen!                   /home/fido/bin/golded: строка 4: 30315 Аварийный останов       gedlnx $*

VA> Это была адская подстава. :) Оказалось, что таблица перекодировки из
VA> koi8-r в uft-8 - это, на самом деле копия таблицы cp866 -> utf-8.
А я-то глупый искал таблицы перекодировки в utf8 по utf и utf8 но не по u8 и думал что их у меня нет :)

VA> завелась. Но все равно с такими словарями это мало практично, ведь
VA> эхотаг не умеет преобразовать назад из utf-8 в локальную кодировку.
Это типа чтобы suggestions заработали?

VA>  Я все равно поправлю там заезды по памяти, но никому не рекомендую
VA> использовать словари в многобайтных кодировках.
Ну не перекодировать же после каждого обновления hunspell словари. В поставке идут UTF-8, надо подружить с ними.

VA>> А вообще, попробуй ради эксперимента преобразовать свои словари в
VA>> KOI8-R и попробуй с "родным" hunspell и с твоим патчем. 99%, что
VA>> взлетит. У меня точно работает.
Наверное да... Если заезд по памяти пофиксить.
Будет чучуть времени - попробую патчик наложить на gespell.cpp временный по твоему совету и проверить.

SP>>> Понять бы, почему логи не пишутся...

VA>> Логи у меня пишутся.
Ну вот у меня нет :) Пустота, чёрт побери :)

VA>> Хуже всего то, что некоторый код весело пишет в stdout/stderr и
VA>> портит картинку.
Ммм, в "штатном" режиме работы я такого не наблюдал.

Там другая проблема есть. Если при старте есть ошибки какие-то, которые льются в stderr/stdout, то их невозможно прочитать, т.к. где-то инициализируется ncurses и фсё, консоль больше не консолит. Единственный способ - запускать с перенаправлением вывода в файл, но тогда втуда же и ncurses уходит, если не только stderr но и stdout перенаправить :)

VA>> ЗЫ. Вот и нашел себе следущую задачу. :) Переделать XlatStr,
VA>> чтобы не было заездов по памяти. Как минимум - передавать размер
VA>> выходного буфера.
VA> Вот займусь этим пока.
Эх, я уже тоже почти совсем увлёкся и почти полез ковырять код голдеда... Сложно это, когда C/C++ знаешь довольно поверхностно :) Особенно в плане работы с разными разновидностями строк и прочими юникодами...

                                С наилучшими пожеланиями, Семён.

... Стрессы начинаются с будильника... (c)...
--- GoldED+/LNX 1.1.5-b20231001 (Linux 5.15.52-gentoo iF6M10)
* Origin: IceLAN (2:5025/121)

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