X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=pager.c;h=5f280ab52720772905cacbcba522ecc9c81bb529;hb=8d9721c86b0169c282ad1c5528317eafeb7fb0f7;hp=4587fbbdb51e50c1e3e6e4c3476cdccd4ac59cee;hpb=24ad8e0ce23d08d28a5d664ab6164b10125146ce;p=git.git diff --git a/pager.c b/pager.c index 4587fbbdb..5f280ab52 100644 --- a/pager.c +++ b/pager.c @@ -1,5 +1,7 @@ #include "cache.h" +#include + /* * This is split up from the rest of git so that we might do * something different on Windows, for example. @@ -7,6 +9,16 @@ static void run_pager(const char *pager) { + /* + * Work around bug in "less" by not starting it until we + * have real input + */ + fd_set in; + + FD_ZERO(&in); + FD_SET(0, &in); + select(1, &in, NULL, &in, NULL); + execlp(pager, pager, NULL); execl("/bin/sh", "sh", "-c", pager, NULL); }