![]() |
#1
|
|||
|
|||
![]()
Nil Alexandrov написал(а) к All в Mar 21 18:57:32 по местному времени:
Нello, All! Клонирую эхотаг с православного репозитория https://github.com/golded-plus/golded-plus собираю, и опять тот самый краш наблюдаю, если окно терминала слишком широкое. Вроде бы ещё несколько лет назад патч был на gemlst.cpp, там char buf[256]; расширялся. Вопрос, где правильный патч для лечения широких терминалов? Почему он не интегрирован в репу? Best Regards, Nil --- GoldED+/LNX 1.1.5 |
#2
|
|||
|
|||
![]()
Alexey Vissarionov написал(а) к Nil Alexandrov в Mar 21 19:18:00 по местному времени:
Доброго времени суток, Nil! 15 Mar 2021 18:57:32, ты -> All: NA> Клонирую эхотаг с православного репозитория NA> https://github.com/golded-plus/golded-plus собираю, и опять тот NA> самый краш наблюдаю, если окно терминала слишком широкое. Вроде NA> бы ещё несколько лет назад патч был на gemlst.cpp, Патч или костыль? NA> там char buf[256]; расширялся. Очевидно, что это костыль. NA> Вопрос, где правильный патч для лечения широких терминалов? Правильный терминал широким не бывает. Хотя корякву, конечно, надо заткнуть... NA> Почему он не интегрирован в репу? Присылай дифф. -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... Время выхода из лабиринта зависит от количества извилин --- /bin/vi |
#3
|
|||
|
|||
![]()
Semen Panevin написал(а) к Nil Alexandrov в Mar 21 22:24:00 по местному времени:
Доброго здоровьица тебе, Nil! Monday March 15 2021 18:57, Nil Alexandrov писал All: NA> Вопрос, где правильный патч для лечения широких терминалов? https://github.com/golded-plus/golded-plus/pulls Который из них правильный? NA> Почему он не интегрирован в репу? Чего не знаю того не знаю. В одном висит каммент который никто не фиксит, в другом висит каммент что он не работает, и тоже никто ничего не фиксит. С наилучшими пожеланиями, Семён. ... Хорошо там, где мы есть! (про фидошников) --- GoldED+/LNX 1.1.5-b20180707 (Linux 5.4.80-gentoo-r1 iF6M10) |
#4
|
|||
|
|||
![]()
Nil Alexandrov написал(а) к Semen Panevin в Mar 21 23:34:58 по местному времени:
Нello, Semen! Monday March 15 2021 22:24, from Semen Panevin -> Nil Alexandrov: NA>> Вопрос, где правильный патч для лечения широких терминалов? SP> https://github.com/golded-plus/golded-plus/pulls SP> Который из них правильный? Хаха, смешно, что каждый патч чинит какую-то одну операцию, например, вывод списка эх, или поиск по списку.. а если написать новое письмо? Ни один патч из представленных не чинит. Там хоть прямо все 256 буфера заменяй на бОльшие :-) NA>> Почему он не интегрирован в репу? SP> Чего не знаю того не знаю. В одном висит каммент который никто не SP> фиксит, в другом висит каммент что он не работает, и тоже никто ничего SP> не фиксит. Короче, вот сейчас у меня вот так вот заработало, в разных комбинациях, и при чтении, и при написани. diff --git a/golded3/gcarea.cpp b/golded3/gcarea.cpp index c088ace..286ea44 100644 -+- a/golded3/gcarea.cpp +++ b/golded3/gcarea.cpp @@ -192,7 +192,7 @@ void AreaList::AddNewArea(AreaCfg* aa) } Desc desc; - char buf[256]; + char buf[2560]; bool newarea = true; static int serial = 0; static int net1st = false; @@ -907,7 +907,7 @@ void AreaList::ReadEcholist(char* val) { char* key; Path file; - char buf[256], options[80]; + char buf[2560], options[80]; bool is_sqafix = false; bool is_dz = false; diff --git a/golded3/gearea.cpp b/golded3/gearea.cpp index ddfc6cb..8277f51 100644 -+- a/golded3/gearea.cpp +++ b/golded3/gearea.cpp @@ -475,7 +475,7 @@ void GPickArealist::print_line(uint idx, uint pos, bool isbar) { vchar vbuf[256]; - char buf[256]; + char buf[2560]; if(AL[idx]->isseparator()) { @@ -608,7 +608,7 @@ bool GPickArealist::handle_key() uint n; uint x; const char* adesc; - char buf[256], tmp[256]; + char buf[2560], tmp[256]; int mode, changed, currno; diff --git a/golded3/geedit.h b/golded3/geedit.h index cf5d02c..85b7d00 100644 -+- a/golded3/geedit.h +++ b/golded3/geedit.h @@ -71,7 +71,7 @@ // ------------------------------------------------------------------ // Defines -#define EDIT_BUFLEN 256 +#define EDIT_BUFLEN 2560 #define EDIT_PARABUFLEN 2048 #define EDITUNDOCНAR 0x00000010U diff --git a/golded3/gemlst.cpp b/golded3/gemlst.cpp index 72f73fc..5c59d37 100644 -+- a/golded3/gemlst.cpp +++ b/golded3/gemlst.cpp @@ -368,7 +368,7 @@ void GMsgList::print_line(uint idx, uint pos, bool isbar) mattr_ = hattr; } - char buf[256]; + char buf[2560]; if(AA->Msglistwidesubj()) { @@ -950,7 +950,7 @@ void GThreadlist::GenTree(int idx) void GThreadlist::print_line(uint idx, uint pos, bool isbar) { - char buf[256]; + char buf[2560]; ThreadEntry &t = treeEntryList[idx]; sizet tdlen = xlen - ((AA->Msglistdate() == MSGLISTDATENONE) ? 8 : 18); Best Regards, Nil --- GoldED+/LNX 1.1.5 |
#5
|
|||
|
|||
![]()
Serg Podtynnyi написал(а) к Nil Alexandrov в Mar 21 00:16:26 по местному времени:
Нello Nil! Monday March 15 2021 23:34, I wrote to me: NA>>> Вопрос, где правильный патч для лечения широких терминалов? SP>> https://github.com/golded-plus/golded-plus/pulls SP>> Который из них правильный? NA> Хаха, смешно, что каждый патч чинит какую-то одну операцию, например, NA> вывод списка эх, или поиск по списку.. а если написать новое NA> письмо? Ни один патч из представленных не чинит. Там хоть прямо все NA> 256 буфера заменяй на бОльшие :-) NA>>> Почему он не интегрирован в репу? SP>> Чего не знаю того не знаю. В одном висит каммент который никто не SP>> фиксит, в другом висит каммент что он не работает, и тоже никто SP>> ничего не фиксит. NA> Короче, вот сейчас у меня вот так вот заработало, в разных NA> комбинациях, и при чтении, и при написани. NA> diff --git a/golded3/gcarea.cpp b/golded3/gcarea.cpp NA> index c088ace..286ea44 100644 NA> -+- a/golded3/gcarea.cpp NA> +++ b/golded3/gcarea.cpp NA> @@ -192,7 +192,7 @@ void AreaList::AddNewArea(AreaCfg* aa) NA> } NA> Desc desc; NA> - char buf[256]; NA> + char buf[2560]; NA> bool newarea = true; NA> static int serial = 0; NA> static int net1st = false; NA> @@ -907,7 +907,7 @@ void AreaList::ReadEcholist(char* val) NA> { NA> char* key; NA> Path file; NA> - char buf[256], options[80]; NA> + char buf[2560], options[80]; NA> bool is_sqafix = false; NA> bool is_dz = false; NA> diff --git a/golded3/gearea.cpp b/golded3/gearea.cpp NA> index ddfc6cb..8277f51 100644 NA> -+- a/golded3/gearea.cpp NA> +++ b/golded3/gearea.cpp NA> @@ -475,7 +475,7 @@ void GPickArealist::print_line(uint idx, uint pos, NA> bool isbar) { NA> vchar vbuf[256]; NA> - char buf[256]; NA> + char buf[2560]; NA> if(AL[idx]->isseparator()) NA> { NA> @@ -608,7 +608,7 @@ bool GPickArealist::handle_key() NA> uint n; NA> uint x; NA> const char* adesc; NA> - char buf[256], tmp[256]; NA> + char buf[2560], tmp[256]; NA> int mode, changed, currno; NA> diff --git a/golded3/geedit.h b/golded3/geedit.h NA> index cf5d02c..85b7d00 100644 NA> -+- a/golded3/geedit.h NA> +++ b/golded3/geedit.h NA> @@ -71,7 +71,7 @@ NA> // ----------------------------------------------------------------- NA> - // Defines NA> -#define EDIT_BUFLEN 256 NA> +#define EDIT_BUFLEN 2560 NA> #define EDIT_PARABUFLEN 2048 NA> #define EDITUNDOCНAR 0x00000010U NA> diff --git a/golded3/gemlst.cpp b/golded3/gemlst.cpp NA> index 72f73fc..5c59d37 100644 NA> -+- a/golded3/gemlst.cpp NA> +++ b/golded3/gemlst.cpp NA> @@ -368,7 +368,7 @@ void GMsgList::print_line(uint idx, uint pos, bool NA> isbar) NA> mattr_ = hattr; NA> } NA> - char buf[256]; NA> + char buf[2560]; NA> if(AA->Msglistwidesubj()) NA> { NA> @@ -950,7 +950,7 @@ void GThreadlist::GenTree(int idx) NA> void GThreadlist::print_line(uint idx, uint pos, bool isbar) NA> { NA> - char buf[256]; NA> + char buf[2560]; NA> ThreadEntry &t = treeEntryList[idx]; NA> sizet tdlen = xlen - ((AA->Msglistdate() == MSGLISTDATENONE) ? NA> 8 : 18); Я медленно пилю голдед в своев форке тут (https://github.com/shtirlic/golded-plus), эту проблему я думаю тоже исправлю, просто буффер увеличить можно, есть пачт на 40 буфферов ;) Serg --- GoldED+ NG/W10 |
#6
|
|||
|
|||
![]()
Alexey Vissarionov написал(а) к Nil Alexandrov в Mar 21 00:22:00 по местному времени:
Доброго времени суток, Nil! 15 Mar 2021 23:34:58, ты -> Semen Panevin: NA>>> Почему он не интегрирован в репу? SP>> Чего не знаю того не знаю. В одном висит каммент который никто не SP>> фиксит, в другом висит каммент что он не работает, и тоже никто SP>> ничего не фиксит. NA> Короче, вот сейчас у меня вот так вот заработало, в разных NA> комбинациях, и при чтении, и при написани. NA> - char buf[256]; NA> + char buf[2560]; Надеюсь, ты понимаешь, что эту профанацию в апстрим никто не пропустит? Если действительно хочешь приложить руки, сделай по уму - получи ширину терминала через TIOCGWINSZ (`man tty_ioctl`), а потом выполни realloc() означенного буфера (который изначально должен быть NULL, разумеется). А кроилово ведет исключительно к попадалову. -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... Безумству храбрых - минута молчания --- /bin/vi |
#7
|
|||
|
|||
![]()
Nil Alexandrov написал(а) к Alexey Vissarionov в Mar 21 01:17:24 по местному времени:
Нello, Alexey! Tuesday March 16 2021 00:22, from Alexey Vissarionov -> Nil Alexandrov: NA>> Короче, вот сейчас у меня вот так вот заработало, в разных NA>> комбинациях, и при чтении, и при написани. NA>> - char buf[256]; NA>> + char buf[2560]; AV> Надеюсь, ты понимаешь, что эту профанацию в апстрим никто не AV> пропустит? Я спросил тут - ответ такой, что патча нет, ну я и починил для себя за 5 минут, понятное дело, что это костыль. AV> Если действительно хочешь приложить руки, сделай по уму - получи AV> ширину терминала через TIOCGWINSZ (`man tty_ioctl`), а потом выполни AV> realloc() означенного буфера (который изначально должен быть NULL, AV> разумеется). Зачем ioctl(0, TIOCGWINSZ, ...), если этим уже_ занимается ncurses, man cursvariables(3x) - int COLS; int LINES; Ну дык по уму и на изменение размера окна надо реагировать, поймать сигнал sigaction(SIGWINCН, ...), переделать буфера и перерисовать endwin(); refresh(); clear(); Но это явно работы не на 5 минут, поэтому я и не берусь :-) Best Regards, Nil --- GoldED+/LNX 1.1.5 |
#8
|
|||
|
|||
![]()
Nil Alexandrov написал(а) к Serg Podtynnyi в Mar 21 01:30:46 по местному времени:
Нello, Serg! Tuesday March 16 2021 00:16, from Serg Podtynnyi -> Nil Alexandrov: SP> Я медленно пилю голдед в своев форке тут SP> (https://github.com/shtirlic/golded-plus), А поддержка UTF8 планируется? Я просто не представляю, что там ещё такого большого можно сделать в голдеде, чтобы свой форк делать. Best Regards, Nil --- GoldED+/LNX 1.1.5 |
#9
|
|||
|
|||
![]()
Mykhailo Kapitanov написал(а) к Serg Podtynnyi в Mar 21 03:33:32 по местному времени:
Нello Serg! 16 Mar 21 00:16, you wrote to Nil Alexandrov: NA>> - char buf[256]; NA>> + char buf[2560]; SP> Я медленно пилю голдед в своев форке тут Посмотрел несколько коммитов. Вот такое вызывает недоумение: === Cut === - #define _GVER_PLATFORM_ "/W64-MSVC" + #define _GVER_PLATFORM_ "/W10" === Cut === Платформа W10? Это как? :) Mykhailo --- GoldED+/W64-MSVC 1.1.5-b20180707 |
#10
|
|||
|
|||
![]()
Mykhailo Kapitanov написал(а) к Alexey Vissarionov в Mar 21 03:36:00 по местному времени:
Нello Alexey! 15 Mar 21 19:18, you wrote to Nil Alexandrov: NA>> самый краш наблюдаю, если окно терминала слишком широкое. Вроде NA>> бы ещё несколько лет назад патч был на gemlst.cpp, AV> Патч или костыль? Патч-костыль. :) Добро пожаловать в волшебный мир ПО. NA>> там char buf[256]; расширялся. AV> Очевидно, что это костыль. Это ты еще весь код не видел. Там таких костылей чуть больше чем полностью. В то время, статический размер строки (буфера) было дело обычное. Mykhailo --- GoldED+/W64-MSVC 1.1.5-b20180707 |