From: Thomas Weißschuh Date: Sat, 13 Apr 2024 07:42:39 +0000 (+0200) Subject: Revert "lib/pager: Apply pager-specific fixes only when needed" X-Git-Tag: v2.42-start~413^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=966cb1382b59a9c1d5735b47aba27050c6d5c7e5;p=thirdparty%2Futil-linux.git 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 --- diff --git a/lib/pager.c b/lib/pager.c index 14bf071db..15a5e2736 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;