From: Arun Prakash Jana Date: Tue, 31 Jan 2023 13:06:26 +0000 (+0530) Subject: Optimize listed selection size calculation X-Git-Tag: v4.8~21 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=58b77411c830aa2fa22e0c024deecb9648136771;p=nnn.git Optimize listed selection size calculation --- diff --git a/src/nnn.c b/src/nnn.c index b821f808..b351e202 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -6639,10 +6639,11 @@ static void showselsize(const char *path) off_t sz = 0; int len = scanselforpath(path, FALSE); - for (int r = 0; r < ndents; ++r) - if (findinsel(findselpos, - len + xstrsncpy(g_sel + len, pdents[r].name, pdents[r].nlen))) + for (int r = 0, selcount = nselected; (r < ndents) && selcount; ++r) + if (findinsel(findselpos, len + xstrsncpy(g_sel + len, pdents[r].name, pdents[r].nlen))) { sz += cfg.blkorder ? pdents[r].blocks : pdents[r].size; + --selcount; + } printmsg(coolsize(cfg.blkorder ? sz << blk_shift : sz)); }