Discussion:
Краш на больших терминалах
(слишком старое сообщение для ответа)
Nil Alexandrov
2021-03-15 15:57:32 UTC
Permalink
Hello, All!

Клонирую эхотаг с православного репозитория
https://github.com/golded-plus/golded-plus собираю, и опять тот самый краш
наблюдаю, если окно терминала слишком широкое.
Вроде бы ещё несколько лет назад патч был на gemlst.cpp, там char buf[256];
расширялся.

Вопрос, где правильный патч для лечения широких терминалов? Почему он не
интегрирован в репу?

Best Regards, Nil
Semen Panevin
2021-03-15 19:24:00 UTC
Permalink
Доброго здоровьица тебе, Nil!

Monday March 15 2021 18:57, Nil Alexandrov писал All:

NA> Вопрос, где правильный патч для лечения широких терминалов?
https://github.com/golded-plus/golded-plus/pulls
Который из них правильный?

NA> Почему он не интегрирован в репу?
Чего не знаю того не знаю. В одном висит каммент который никто не фиксит, в
другом висит каммент что он не работает, и тоже никто ничего не фиксит.

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

... Хорошо там, где мы есть! (про фидошников)
Nil Alexandrov
2021-03-15 20:34:58 UTC
Permalink
Hello, 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 EDIT_UNDO_CHAR 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];
size_t tdlen = xlen - ((AA->Msglistdate() == MSGLISTDATE_NONE) ? 8 : 18);


Best Regards, Nil
Serg Podtynnyi
2021-03-15 21:16:26 UTC
Permalink
Hello 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 EDIT_UNDO_CHAR 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> size_t tdlen = xlen - ((AA->Msglistdate() == MSGLISTDATE_NONE) ?
NA> 8 : 18);

Я медленно пилю голдед в своев форке тут
(https://github.com/shtirlic/golded-plus), эту проблему я думаю тоже исправлю,
просто буффер увеличить можно, есть пачт на 40 буфферов ;)

Serg
Nil Alexandrov
2021-03-15 22:30:46 UTC
Permalink
Hello, Serg!

Tuesday March 16 2021 00:16, from Serg Podtynnyi -> Nil Alexandrov:

SP> Я медленно пилю голдед в своев форке тут
SP> (https://github.com/shtirlic/golded-plus),

А поддержка UTF8 планируется? Я просто не представляю, что там ещё такого
большого можно сделать в голдеде, чтобы свой форк делать.

Best Regards, Nil
Serg Podtynnyi
2021-03-16 07:14:10 UTC
Permalink
Hello Nil!

Tuesday March 16 2021 01:30, I wrote to you:

SP>> Я медленно пилю голдед в своев форке тут
SP>> (https://github.com/shtirlic/golded-plus),

NA> А поддержка UTF8 планируется? Я просто не представляю, что там ещё
NA> такого большого можно сделать в голдеде, чтобы свой форк делать.

Вообще да, но там просто огромный обьем работ, потому что там по сути С в
рамках С++.

Serg
Dmitriy Kulikov
2021-11-23 10:31:30 UTC
Permalink
Мир дому твоему, *Serg* !

16 Мар 21 10:14, you wrote to Nil Alexandrov:

SP>>> Я медленно пилю голдед в своев форке тут
SP>>> (https://github.com/shtirlic/golded-plus),
NA>> А поддержка UTF8 планируется? Я просто не представляю, что там
NA>> ещё такого большого можно сделать в голдеде, чтобы свой форк
NA>> делать.
SP> Вообще да, но там просто огромный обьем работ, потому что там по сути
SP> С в рамках С++.

Посмотрел гитхаб, с марта в форке ничего нового. Проект загнулся?

Дмитрий Ю. Куликов
для эхоконференции _Редактоp cообщений GoldED_ [23 Ноя 21 - 13:31]
... https://vk.com/hakudzero @2.6090.14:matrix.org..
Serg Podtynnyi
2021-11-23 18:45:52 UTC
Permalink
Hello Dmitriy!

Tuesday November 23 2021 13:31, you wrote to me:
SP>>>> Я медленно пилю голдед в своев форке тут
SP>>>> (https://github.com/shtirlic/golded-plus),
NA>>> А поддержка UTF8 планируется? Я просто не представляю, что там
NA>>> ещё такого большого можно сделать в голдеде, чтобы свой форк
NA>>> делать.
SP>> Вообще да, но там просто огромный обьем работ, потому что там по
SP>> сути С в рамках С++.

DK> Посмотрел гитхаб, с марта в форке ничего нового. Проект загнулся?

Пилю пока локально, сильно по работе загружен, пока мало времени.

PS
Одна из фич в планах это поддержка протокола gemini.

Serg
Nil A
2021-11-23 20:03:26 UTC
Permalink
Hello, Serg!

Tuesday November 23 2021 21:45, from Serg Podtynnyi -> Dmitriy Kulikov:

SP> PS Одна из фич в планах это поддержка протокола gemini.

Шо, прям из голдеда можно будет крипту покупать, или крипту слать нетмейлом?

Best Regards, Nil
Serg Podtynnyi
2021-11-24 19:26:26 UTC
Permalink
Hello Nil!

Tuesday November 23 2021 23:03, you wrote to me:

SP>> PS Одна из фич в планах это поддержка протокола gemini.

NA> Шо, прям из голдеда можно будет крипту покупать, или крипту слать
NA> нетмейлом?

Нет, я про протокол Gemini https://en.wikipedia.org/wiki/Gemini_(protocol), это
гипертекстовый фидонет))


Serg
Nil A
2021-11-24 19:35:06 UTC
Permalink
Hello, Serg!

Wednesday November 24 2021 22:26, from Serg Podtynnyi -> Nil A:

SP>>> PS Одна из фич в планах это поддержка протокола gemini.
SP> Нет, я про протокол Gemini
SP> https://en.wikipedia.org/wiki/Gemini_(protocol), это гипертекстовый
SP> фидонет))

А кому, кроме тебя, это может быть интересно?

Если уж очень хочется поизвращаться, можно, например на худой конец, вкорячить
в голдед NNTP, и научить его распарсивать X-.. хедеры от fidogate,
ifcico/ifmail (если это чудо ещё у кого-то осталось) и jamnntpd/smapinntpd,
чтобы взад воссоздать ь все FTN клуджи и хедеры как они были в оригинальном
сообщении.
Вот я сейчас супер изврат предложил, но на вот этом примере я могу хоть как-то
объяснить юзкейс полезный - есть список из десятка публичных NNTP серверов с
регистрацией и без, которые предоставляют доступ к фидо как к конференциям, и
можно "на попробовать" тот самый тёплый-ламповый интернет просто скачать один
голдед и сразу начать читать фидошку, даже без регистрации, без мейлеров,
тоссеров, и и получения поента даже, просто из-каробки, с тем самым
ретро-текст-мод-экспериенсом. А зарегавшись, можно как поент систему
использовать. Сичёшь? А куда ты будешь этим гимини ходить?

Best Regards, Nil
Konstantin Simonov
2021-11-25 11:11:42 UTC
Permalink
Hi, Serg!

Wednesday November 24 2021 22:26, Serg Podtynnyi (2:5030/3165) => Nil A:

SP>>> PS Одна из фич в планах это поддержка протокола gemini.
NA>> Шо, прям из голдеда можно будет крипту покупать, или крипту слать
NA>> нетмейлом?
SP> Нет, я про протокол Gemini
SP> https://en.wikipedia.org/wiki/Gemini_(protocol), это гипертекстовый
SP> фидонет))

Фидонет будет великим и гипертекстовым!
(c) Mithgol the Webmaster


Sincerely yours, Konstantin.
Dmitriy Kulikov
2021-11-26 11:42:10 UTC
Permalink
Мир дому твоему, *Serg* !

24 Ноя 21 22:26, you wrote to Nil A:

NA>> Шо, прям из голдеда можно будет крипту покупать, или крипту слать
NA>> нетмейлом?
SP> Нет, я про протокол Gemini
SP> https://en.wikipedia.org/wiki/Gemini_(protocol), это гипертекстовый
SP> фидонет))

Т.е. FGHI смысла нет просить?)))

Дмитрий Ю. Куликов
для эхоконференции _Редактоp cообщений GoldED_ [26 Ноя 21 - 14:42]
... https://vk.com/hakudzero @2.6090.14:matrix.org..
Serg Podtynnyi
2021-12-02 15:29:44 UTC
Permalink
Hello Dmitriy!

Friday November 26 2021 14:42, you wrote to me:

NA>>> Шо, прям из голдеда можно будет крипту покупать, или крипту
NA>>> слать нетмейлом?
SP>> Нет, я про протокол Gemini
SP>> https://en.wikipedia.org/wiki/Gemini_(protocol), это
SP>> гипертекстовый фидонет))

DK> Т.е. FGHI смысла нет просить?)))

Как часть адреса gemini, вполне норм идея.

Serg
Dmitriy Kulikov
2021-12-03 17:54:58 UTC
Permalink
Мир дому твоему, *Serg* !

02 Дек 21 18:29, you wrote to me:

DK>> Т.е. FGHI смысла нет просить?)))
SP> Как часть адреса gemini, вполне норм идея.

А этот формат адресов совместим с тем форматом, что предложил Мицгол и который
реализован в некотором софте?

Дмитрий Ю. Куликов
для эхоконференции _Редактоp cообщений GoldED_ [03 Дек 21 - 20:55]
... https://vk.com/hakudzero Telegram: @hakudzero ..

Alexey Vissarionov
2021-03-16 08:32:00 UTC
Permalink
Доброго времени суток, Nil!
16 Mar 2021 01:30:46, ты -> Serg Podtynnyi:

SP>> Я медленно пилю голдед в своев форке тут
SP>> (https://github.com/shtirlic/golded-plus),
NA> А поддержка UTF8 планируется?

Если только в msged. Но тут это оффтопик.

NA> Я просто не представляю, что там ещё такого большого можно
NA> сделать в голдеде, чтобы свой форк делать.

Вообще, конечно, там поле непаханное... но те, кому это нужно, делать это не
умеют, а тем, кто умеет, это не нужно.


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Не нравится вышенаписанное? Набери в рот говна и плюнь в меня!
Mykhailo Kapitanov
2021-03-16 00:33:32 UTC
Permalink
Hello 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
Serg Podtynnyi
2021-03-16 07:16:46 UTC
Permalink
Hello Mykhailo!

Tuesday March 16 2021 03:33, I wrote to you:


NA>>> - char buf[256];
NA>>> + char buf[2560];
SP>> Я медленно пилю голдед в своев форке тут

MK> Посмотрел несколько коммитов. Вот такое вызывает недоумение:

MK> === Cut ===
MK> - #define __GVER_PLATFORM__ "/W64-MSVC"
MK> + #define __GVER_PLATFORM__ "/W10"
MK> === Cut ===

MK> Платформа W10? Это как? :)

А вот так, "Beginning with Windows 10, version 2004, all new Windows 10 systems
will be required to use 64-bit builds and Microsoft will no longer release
32-bit builds for OEM distribution."
32 битной поддержки уже нет и не будет. Поэтому можно считать по дефолту W10
это WIN64и других быть не может.


Serg
Alexey Vissarionov
2021-03-15 21:22:00 UTC
Permalink
Доброго времени суток, 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

... Безумству храбрых - минута молчания
Nil Alexandrov
2021-03-15 22:17:24 UTC
Permalink
Hello, 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
curs_variables(3x) - int COLS; int LINES;
Ну дык по уму и на изменение размера окна надо реагировать, поймать сигнал
sigaction(SIGWINCH, ...), переделать буфера и перерисовать endwin(); refresh();
clear();
Но это явно работы не на 5 минут, поэтому я и не берусь :-)

Best Regards, Nil
Konstantin Simonov
2021-03-16 07:42:18 UTC
Permalink
Hi, Nil!

Tuesday March 16 2021 01:17, Nil Alexandrov (2:5015/46) => Alexey Vissarionov:

NA>>> Короче, вот сейчас у меня вот так вот заработало, в разных
NA>>> комбинациях, и при чтении, и при написани.
NA>>> - char buf[256];
NA>>> + char buf[2560];
AV>> Надеюсь, ты понимаешь, что эту профанацию в апстрим никто не
AV>> пропустит?
NA> Я спросил тут - ответ такой, что патча нет, ну я и починил для себя за
NA> 5 минут, понятное дело, что это костыль.

Не понимаю смысла широкого экрана в GoldEd.
У меня окно GoldEd 80х25, тогда как экран FAR 120x52.


Sincerely yours, Konstantin.
Mykhailo Kapitanov
2021-03-16 05:08:06 UTC
Permalink
Hello Konstantin!

16 Mar 21 10:42, you wrote to Nil Alexandrov:

NA>> Я спросил тут - ответ такой, что патча нет, ну я и починил для
NA>> себя за 5 минут, понятное дело, что это костыль.
KS> Не понимаю смысла широкого экрана в GoldEd.

Удобно, больше текста помещается по горизонтали. Следовательно больше и по
вертикали, т.к. word-warp срабатывает реже.

KS> У меня окно GoldEd 80х25, тогда как экран FAR 120x52.

Вот тот же прицип что и с Far, который у меня вообще в окне 200x45. Но это на
маленьком экране ноутбука. На десктопе вообще 260.

PS: А вообще да, 80x25 это олдскул и нужно уважать! :)

Mykhailo
Nil Alexandrov
2021-03-16 06:51:38 UTC
Permalink
Hello, Konstantin!

Tuesday March 16 2021 10:42, from Konstantin Simonov -> Nil Alexandrov:

KS> Не понимаю смысла широкого экрана в GoldEd.
KS> У меня окно GoldEd 80х25, тогда как экран FAR 120x52.

Я сижу в треминале на полный экран (27" в 5к разрешении), и дальше у меня в
линукс сессии screen, и из под него на полном экране разные vim, внутри там
виртуальные разделение экрана с разными буферами файлов, в других screen'ах
всякие логи, make, ... и вот голдед ещё запущен, почитать что вы тут пишите.
Мне специально отдельный маленький терминал запускать под голдеда не удобно, у
меня всё в общем screen, и при этом отбивать область поменьше, чтобы там всегда
крутить голдед тоже не хочется.

$ echo $COLUMNS $LINES
364 100

Вот я сейчас пишу письмо, длинные сторочки, мне удобно. Я ругаю тех, кто
специально под 80 символов подгоняет и \r добавляет. Реально перевод строки
нужно делать под новый абзац только.

Best Regards, Nil
Alexey Vissarionov
2021-03-16 08:30:00 UTC
Permalink
Доброго времени суток, Nil!
16 Mar 2021 01:17:24, ты -> мне:

NA>>> - char buf[256];
NA>>> + char buf[2560];
AV>> Надеюсь, ты понимаешь, что эту профанацию в апстрим никто не
AV>> пропустит?
NA> Я спросил тут - ответ такой, что патча нет, ну я и починил для
NA> себя за 5 минут, понятное дело, что это костыль.
AV>> Если действительно хочешь приложить руки, сделай по уму - получи
AV>> ширину терминала через TIOCGWINSZ (`man tty_ioctl`), а потом
AV>> выполни realloc() означенного буфера (который изначально должен
AV>> быть NULL, разумеется).
NA> Зачем ioctl(0, TIOCGWINSZ, ...), если этим _уже_ занимается ncurses,
NA> man curs_variables(3x) - int COLS; int LINES; Ну дык по уму и на
NA> изменение размера окна надо реагировать, поймать сигнал
NA> sigaction(SIGWINCH, ...), переделать буфера и перерисовать endwin();
NA> refresh(); clear(); Но это явно работы не на 5 минут, поэтому я и не
NA> берусь :-)

Вот именно. И никто не берется - либо нахрен не надо, либо не умеют.


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Облачных технологий не существует - существуют только чужие компутеры
Mykhailo Kapitanov
2021-03-16 00:41:52 UTC
Permalink
Hello Alexey!

16 Mar 21 00:22, you wrote to Nil Alexandrov:

NA>> - char buf[256];
NA>> + char buf[2560];
AV> Надеюсь, ты понимаешь, что эту профанацию в апстрим никто не
AV> пропустит?

Ага, поэтому и дальше будем пользоваться эхотагом который крашится на широких
терминалах?

AV> Если действительно хочешь приложить руки, сделай по уму - получи
AV> ширину терминала через TIOCGWINSZ (`man tty_ioctl`), а потом выполни

Очень "кроссплатформенное" решение.

Mykhailo
Loading...