On Wed, 12.02.14 03:10, Lennart Poettering (lenn...@poettering.net) wrote: > > On Wed, 12.02.14 02:58, Jason A. Donenfeld (ja...@zx2c4.com) wrote: > > > This allows customization of the arguments used by less. The main > > motivation is that some folks might not like having --no-init on every > > invocation of less. > > --- > > If you'd like me to update some documentation, let me know what > > files I should edit, and I'll send a v2. > > > > src/shared/pager.c | 17 +++++++++++++---- > > 1 file changed, 13 insertions(+), 4 deletions(-) > > > > diff --git a/src/shared/pager.c b/src/shared/pager.c > > index 72a29f2..4a7be4e 100644 > > --- a/src/shared/pager.c > > +++ b/src/shared/pager.c > > @@ -50,6 +50,8 @@ noreturn static void pager_fallback(void) { > > int pager_open(bool jump_to_end) { > > int fd[2]; > > const char *pager; > > + char *less_opts; > > Needs to be "const", otherwise assigning a literal string will generate > casting errors.... > > > + _cleanup_free_ *joined_less_opts = NULL; > > pid_t parent_pid; > > int r; > > > > @@ -88,10 +90,17 @@ int pager_open(bool jump_to_end) { > > dup2(fd[0], STDIN_FILENO); > > close_pipe(fd); > > > > - if (jump_to_end) > > - setenv("LESS", "FRSXMK+G", 1); > > - else > > - setenv("LESS", "FRSXMK", 1); > > + less_opts = getenv("SYSTEMD_LESS"); > > + if (!less_opts) { > > + if (jump_to_end) > > + less_opts = "FRSXMK+G"; > > + else > > + less_opts = "FRSXMK"; > > + } else if (jump_to_end) { > > + joined_less_opts = strjoin(less_opts, " +G", > > - NULL); > > Needs OOM check. Also, for the special case of joining exactly 2 > strings, use strappend(), it's a bit more efficient... > > > + less_opts = joined_less_opts; > > + } > > + setenv("LESS", less_opts, 1); > > > > /* Make sure the pager goes away when the parent dies */ > > if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0) > > Otherwise looks good.
Oh, and the patch needs man page updates. Probably at all places where $SYSTEMD_PAGER is already documented... Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel