use /bin/sh to run the pager

This allows to specify options on the command-line of the pager, e.g.

  $ ledger --color --pager='less -R' ...
This commit is contained in:
Matthias Lederhofer 2014-04-02 23:10:03 +01:00
parent afa32dee1b
commit 0e2d07c801

View file

@ -80,18 +80,10 @@ namespace {
close(pfd[1]);
close(pfd[0]);
// Find command name: its the substring starting right of the
// rightmost '/' character in the pager pathname. See manpage for
// strrchr.
#if BOOST_VERSION >= 103700
path basename(pager_path.filename());
#else
path basename(pager_path.leaf());
#endif
execlp(pager_path.string().c_str(), basename.string().c_str(), NULL);
execlp("/bin/sh", "/bin/sh", "-c", pager_path.string().c_str(), NULL);
// We should never, ever reach here
perror((std::string("execlp: ") + pager_path.string()).c_str());
perror("execlp: /bin/sh");
exit(1);
}
else { // parent