URI: 
       fixed indices - iomenu - interactive terminal-based selection menu
  HTML git clone git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
   DIR LICENSE
       ---
   DIR commit 63ce568f63eef334f256370d444e557d2ecceb68
   DIR parent 179c4bde0a49ad89278b73ebbea5d4bfa2559605
  HTML Author: Josuah Demangeonā  ā µ <mail@josuah.net>
       Date:   Sat, 18 Mar 2017 18:52:10 +0100
       
       fixed indices
       
       Diffstat:
         M iomenu.c                            |      12 +++++-------
       
       1 file changed, 5 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/iomenu.c b/iomenu.c
       @@ -166,16 +166,14 @@ print_string(char *str, size_t limit, int current)
        void
        print_lines(size_t count, size_t cols)
        {
       -        size_t printed = 0;
       +        size_t printed = 0, i = current / count * count;
        
       -        offset = current / count * count;
       -
       -        for (size_t i = offset; i < count && i < matchc; i++) {
       +        for (; printed < count && i < matchc; printed++, i++) {
                        fputc('\n', stderr);
                        print_string(matchv[i], cols, i == current);
                }
        
       -        while (printed++ < count)
       +        while (printed++ <= count)
                        fputs("\n\033[K", stderr);
        }
        
       @@ -218,7 +216,7 @@ print_screen(int tty_fd)
        
                if (opt_lines) {
                        print_lines(count, w.ws_col);
       -                fprintf(stderr, "\033[%ldA", count);
       +                fprintf(stderr, "\033[%ldA", count + 1);
                } else {
                        fputs("\033[30C", stderr);
                        print_columns(w.ws_col);
       @@ -316,7 +314,7 @@ input_key(FILE *tty_fp)
                        break;
        
                case CONTROL('N'):
       -                current += current <= matchc - 1 ? 1 : 0;
       +                current += current < matchc - 1 ? 1 : 0;
                        break;
        
                case CONTROL('P'):