Показать сообщение отдельно
  #17  
Старый 16.03.2021, 12:42
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию Краш на больших терминалах

Alexey Vissarionov написал(а) к Nil Alexandrov в Mar 21 11:30:00 по местному времени:

Доброго времени суток, 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(SIGWINCН, ...), переделать буфера и перерисовать endwin();
NA> refresh(); clear(); Но это явно работы не на 5 минут, поэтому я и не
NA> берусь :-)

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


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

... Облачных технологий не существует - существуют только чужие компутеры
--- /bin/vi
Ответить с цитированием