From 9dc0c0684e07502244883bd769a971a28ee533aa Mon Sep 17 00:00:00 2001 From: biglyderv Date: Sat, 29 Mar 2025 05:00:37 -0400 Subject: [PATCH] proper paging --- src/command.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/command.c b/src/command.c index a234faf..0a0a97c 100644 --- a/src/command.c +++ b/src/command.c @@ -52,10 +52,6 @@ int sort_comp(const void *a, const void *b) { int inv_handler(const void *key, size_t size, uintptr_t val, void *usr) { struct pager *i = usr; - i->i++; - if (i->i < i->page * 10 || i->i >= (i->page + 1) * 10) { - return 0; - } if (val == 0) return 0; char *key2 = (char *)key; @@ -75,6 +71,11 @@ int inv_handler(const void *key, size_t size, uintptr_t val, void *usr) { return 1; } + i->i++; + if (i->i < i->page * 10 || i->i >= (i->page + 1) * 10) { + return 0; + } + if (val2[strlen(val2) - 1] == '\n') { printf("- %s suggested %s", key3, val2); } else { @@ -85,6 +86,11 @@ int inv_handler(const void *key, size_t size, uintptr_t val, void *usr) { return 1; } + i->i++; + if (i->i < i->page * 10 || i->i >= (i->page + 1) * 10) { + return 0; + } + if (strlen(key2) > 0 && key2[strlen(key2) - 1] == '\n') { printf("- %s", key2); } else {