Re: ширина терминала в си
On 2005.01.10 at 21:44:39 +0600, Mikhail Gusarov wrote:
>
> You (listreader@rambler.ru) wrote:
>
> > То же поведение замечено с dpkg.
> > при терминале с COLUMNS=132
> > $ echo $COLUMNS
> > 132
> > $ dpkg -l
> > (вывод, отворматированный на 80 столбцов).
>
> Ман bash по поводу export выкурен?
>
Тут надо не по поводу export его курить, а по поводу COLUMNS.
Тут-то как раз и выяснится, что эту переменную выставляет (и меняет по
получению SIGWINCH сам bash. Причем исключительно для своих внутренних
целей - для встроенной команды select.
Поэтому авторы dpkg были в корне неправы, что зареклись на её
использование. Может быть в ранних версиях, когда dpkg был шелловским
скриптом, это имело смысл. А в C-шной программе надо использовать
выше по треду приведенный ioctl.
А то ведь export может привести к странным эффектам.
Например - берем терминал шириной 132, делаем там export COLUMNS,
Теперь запускаем из этого терминала
xterm -geometry 80x25 -e tclsh
и в полученном tclsh делаем set env(COLUMNS)
--
> To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
Reply to: