aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Weißschuh <thomas@t-8ch.de>2024-04-13 09:42:39 +0200
committerThomas Weißschuh <thomas@t-8ch.de>2024-04-13 09:44:42 +0200
commit966cb1382b59a9c1d5735b47aba27050c6d5c7e5 (patch)
tree55f9a9a74fe11f79e5b990939de872e0efc28238
parent5ebf0edb0a0531cba801c7791543c610725bf944 (diff)
downloadutil-linux-966cb1382b59a9c1d5735b47aba27050c6d5c7e5.tar.gz
Revert "lib/pager: Apply pager-specific fixes only when needed"
Less is not always detectable, as it can be hidden behind symlinks or wrapper as for example in a default Debian installation. Also testing for the literal string "less" does not match full path specifications like "/usr/bin/less". Instead always apply the fixes. This reverts commit c10ad975895372122f72c8d9da089b6ea69f778b. Closes #2951 Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
-rw-r--r--lib/pager.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/lib/pager.c b/lib/pager.c
index 14bf071dbe..15a5e2736f 100644
--- a/lib/pager.c
+++ b/lib/pager.c
@@ -85,9 +85,7 @@ static int start_command(struct child_process *cmd)
close(cmd->in);
}
- if (cmd->preexec_cb)
- cmd->preexec_cb();
-
+ cmd->preexec_cb();
execvp(cmd->argv[0], (char *const*) cmd->argv);
errexec(cmd->argv[0]);
}
@@ -142,7 +140,7 @@ static int finish_command(struct child_process *cmd)
return wait_or_whine(cmd->pid);
}
-static void pager_preexec_less(void)
+static void pager_preexec(void)
{
/*
* Work around bug in "less" by not starting it until we
@@ -243,11 +241,7 @@ static void __setup_pager(void)
pager_argv[2] = pager;
pager_process.argv = pager_argv;
pager_process.in = -1;
-
- if (!strncmp(pager, "less", 4))
- pager_process.preexec_cb = pager_preexec_less;
- else
- pager_process.preexec_cb = NULL;
+ pager_process.preexec_cb = pager_preexec;
if (start_command(&pager_process))
return;