Nп/п : 20 из 100
От : Nil A 2:5015/46 15 авг 24 19:12:06
К : Vitaliy Aksyonov 15 авг 24 19:26:02
Тема : golded.devel
----------------------------------------------------------------------------------
@MSGID: 2:5015/46 66be2be6
@REPLY: 1:104/117 66be101e
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9
Hello, Vitaliy!
Thursday August 15 2024 08:24, from Vitaliy Aksyonov -> Konstantin Kuzov:
KK>> Помню я тот мрак и ужас в голдеде. ^_^ Ещё в 2009м когда с ним
KK>> ковырялся можно уже тогда было треть кода смело выкидывать как
KK>> давно неактуальную, треть нуждалась в полном переписывании, а
KK>> оставшееся в тотальном причесывании.
Там не плюсы изначально, а голый си с классами. Там переиспользуют
объекты методом memset(нули) и memcpy() поверх объекта ваще.
Потом когда голдед стал с плюсом, а не кошерный-Одиннский, то туда
начали добавлять std::vector, std::string, и они текут, потому никто через
деструктор правильно не идёт, см.выше.
KK>> Я когда-то пробовал в своем форке переделать перекодирование на
KK>> использование с xlat на iconv, добавить поддержку юникода и выкинуть
KK>> повсеместное использование фиксированных C-шных буферов и добавить
KK>> корректную реакцию на изменение размера терминала. Hо так и забил на
KK>> полпути...
Я тоже думал, но потом глянул, работы много, если по-уму делать.
Ещё бы я выкинул вендовый порт, собирал бы курсыс и под венду.
Например, tin/rtin и под вендой пашет на курсысе, и тоже iconv всё гонит.
VA> Я как раз хочу сделать корректную работу с iconv. Вот сейчас
VA> рефакторю.
Прикольно, если ты на это можешь время выделить, и до какого-то
логического конца прошагать.
VA> Сначала вынесу код перекодировок в отдельную либу, потом сделаю
VA> отдельный класс конвертера для текста, потом туда прикручу iconv.
Хороший план. Даже если ты бросишь на этой стадии, то следующий
энтузиаст сможет подхватить, и не сильно плеваться на какие-то простыни
каких-то char* указателей, хер поссышь что там эти алгоритмы делают.
VA> Потом можно браться за юникод. Но это уже гораздо большая
VA> задача.
Если ты введёшь понятие стринг чего-то, и что на экране у тебя
некие знакоместы, хотябы через std::mblen().. но хотя уже да, это какие-то
multibyte characters..
VA> Может возьмёшься ревьювить мои коммиты? ;)
Подналяжем!
Best Regards, Nil
--- GoldED+/LNX 1.1.5-b20240306
* Origin: FidoNet member since 1995 (2:5015/46)
SEEN-BY: 104/117 5001/100 5005/49 5015/46 255
5020/715 830 848 1042 4441
SEEN-BY: 5020/12000 5030/49 722 1081 5053/58
5058/104 5061/133
@PATH: 5015/46 5030/49 5020/1042 4441