diff --git a/src/browser.c b/src/browser.c index a8042bbd..8e92d07c 100644 --- a/src/browser.c +++ b/src/browser.c @@ -92,7 +92,7 @@ char *do_browser(char *path, DIR *dir) titlebar(path); while (!abort) { - size_t fileline; + size_t fileline = (width != 0) ? selected / width : selected; /* The line number the selected file is on. */ size_t old_selected = selected; /* The selected file we had before the current selected @@ -112,12 +112,6 @@ char *do_browser(char *path, DIR *dir) prev_dir = NULL; } - /* Calculate the line number we're on now, so that we don't - * divide by zero. */ - fileline = selected; - if (width != 0) - fileline /= width; - switch (kbinput) { #ifndef DISABLE_MOUSE case KEY_MOUSE: @@ -192,7 +186,7 @@ char *do_browser(char *path, DIR *dir) case NANO_NEXTPAGE_KEY: selected += (editwinrows - fileline % editwinrows) * width; - if (selected >= filelist_len) + if (selected > filelist_len - 1) selected = filelist_len - 1; break; case NANO_FIRSTFILE_ALTKEY: