Applied, thanks

On Sun, Apr 15, 2018 at 12:24 AM, Aaro Koskinen <aaro.koski...@iki.fi> wrote:
> Implement -F option: Exit if entire file fits on first screen.
>
> Signed-off-by: Aaro Koskinen <aaro.koski...@iki.fi>
> ---
>  miscutils/less.c | 20 +++++++++++++-------
>  1 file changed, 13 insertions(+), 7 deletions(-)
>
> diff --git a/miscutils/less.c b/miscutils/less.c
> index 51ef2a59d..3bce93247 100644
> --- a/miscutils/less.c
> +++ b/miscutils/less.c
> @@ -121,11 +121,12 @@
>  //kbuild:lib-$(CONFIG_LESS) += less.o
>
>  //usage:#define less_trivial_usage
> -//usage:       "[-E" IF_FEATURE_LESS_REGEXP("I")IF_FEATURE_LESS_FLAGS("Mm")
> +//usage:       "[-EF" IF_FEATURE_LESS_REGEXP("I")IF_FEATURE_LESS_FLAGS("Mm")
>  //usage:       "N" IF_FEATURE_LESS_TRUNCATE("S") IF_FEATURE_LESS_RAW("R") 
> "h~] [FILE]..."
>  //usage:#define less_full_usage "\n\n"
>  //usage:       "View FILE (or stdin) one screenful at a time\n"
>  //usage:     "\n       -E      Quit once the end of a file is reached"
> +//usage:     "\n       -F      Quit if entire file fits on first screen"
>  //usage:       IF_FEATURE_LESS_REGEXP(
>  //usage:     "\n       -I      Ignore case in all searches"
>  //usage:       )
> @@ -175,8 +176,9 @@ enum {
>         FLAG_N = 1 << 3,
>         FLAG_TILDE = 1 << 4,
>         FLAG_I = 1 << 5,
> -       FLAG_S = (1 << 6) * ENABLE_FEATURE_LESS_TRUNCATE,
> -       FLAG_R = (1 << 7) * ENABLE_FEATURE_LESS_RAW,
> +       FLAG_F = 1 << 6,
> +       FLAG_S = (1 << 7) * ENABLE_FEATURE_LESS_TRUNCATE,
> +       FLAG_R = (1 << 8) * ENABLE_FEATURE_LESS_RAW,
>  /* hijack command line options variable for internal state vars */
>         LESS_STATE_MATCH_BACKWARDS = 1 << 15,
>  };
> @@ -906,11 +908,12 @@ static void buffer_print(void)
>                 else
>                         print_ascii(buffer[i]);
>         }
> -       if ((option_mask32 & FLAG_E)
> +       if ((option_mask32 & (FLAG_E|FLAG_F))
>          && eof_error <= 0
> -        && (max_fline - cur_fline) <= max_displayed_line
>         ) {
> -               less_exit(EXIT_SUCCESS);
> +               i = option_mask32 & FLAG_F ? 0 : cur_fline;
> +               if (max_fline - i <= max_displayed_line)
> +                       less_exit(EXIT_SUCCESS);
>         }
>         status_print();
>  }
> @@ -1814,7 +1817,7 @@ int less_main(int argc, char **argv)
>          * -s: condense many empty lines to one
>          *     (used by some setups for manpage display)
>          */
> -       getopt32(argv, "EMmN~I"
> +       getopt32(argv, "EMmN~IF"
>                 IF_FEATURE_LESS_TRUNCATE("S")
>                 IF_FEATURE_LESS_RAW("R")
>                 /*ignored:*/"s"
> @@ -1828,6 +1831,9 @@ int less_main(int argc, char **argv)
>         if (ENABLE_FEATURE_LESS_ENV) {
>                 char *c = getenv("LESS");
>                 if (c) while (*c) switch (*c++) {
> +               case 'F':
> +                       option_mask32 |= FLAG_F;
> +                       break;
>                 case 'M':
>                         option_mask32 |= FLAG_M;
>                         break;
> --
> 2.17.0
>
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to