chiark / gitweb /
systemctl: before spawning pager cache number of columns
authorLennart Poettering <lennart@poettering.net>
Tue, 18 Jan 2011 22:12:49 +0000 (23:12 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 18 Jan 2011 22:12:49 +0000 (23:12 +0100)
TODO
src/systemctl.c

diff --git a/TODO b/TODO
index 48f4628..ace7465 100644 (file)
--- 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
 
 * 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
 * support remote/ssh systemctl/systemadm, and local privileged access
 
 * finish syslog socket stuff
index 4f4ee96..2c8c2cf 100644 (file)
@@ -5316,6 +5316,10 @@ static void pager_open(void) {
                 if (!*pager || streq(pager, "cat"))
                         return;
 
                 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;
         if (pipe(fd) < 0) {
                 log_error("Failed to create pager pipe: %m");
                 return;