From: Lennart Poettering Date: Tue, 18 Jan 2011 22:12:49 +0000 (+0100) Subject: systemctl: before spawning pager cache number of columns X-Git-Tag: v17~21 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=4bc5f808e4c4891451b83abbc85c4830b3788782;hp=3add4d215b30c746ee617d7412ee007ed3c87249 systemctl: before spawning pager cache number of columns --- diff --git a/TODO b/TODO index 48f4628ab..ace7465c7 100644 --- a/TODO +++ b/TODO @@ -11,8 +11,6 @@ * sometimes processes seem to remain when we kill a service http://lists.fedoraproject.org/pipermail/devel/2011-January/147559.html -* when launching pager, take number of columns first - * support remote/ssh systemctl/systemadm, and local privileged access * finish syslog socket stuff diff --git a/src/systemctl.c b/src/systemctl.c index 4f4ee9617..2c8c2cf61 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -5316,6 +5316,10 @@ static void pager_open(void) { if (!*pager || streq(pager, "cat")) return; + /* Determine and cache number of columns before we spawn the + * pager so that we get the value from the actual tty */ + columns(); + if (pipe(fd) < 0) { log_error("Failed to create pager pipe: %m"); return;