From d209e8f278e434b707ea861ec3988c4b491ee7b2 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Wed, 8 Jan 2020 19:08:01 +0530 Subject: [PATCH] Optimize file extension check --- src/nnn.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/nnn.c b/src/nnn.c index 0e70fbfd..2d0ca54a 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -1865,8 +1865,8 @@ static int entrycmp(const void *va, const void *vb) if (pb->blocks < pa->blocks) return -1; } else if (cfg.extnorder && !(pb->flags & DIR_OR_LINK_TO_DIR)) { - char *extna = xmemrchr((uchar *)pa->name, '.', strlen(pa->name)); - char *extnb = xmemrchr((uchar *)pb->name, '.', strlen(pb->name)); + char *extna = xmemrchr((uchar *)pa->name, '.', pa->nlen - 1); + char *extnb = xmemrchr((uchar *)pb->name, '.', pb->nlen - 1); if (extna || extnb) { if (!extna) @@ -4215,7 +4215,7 @@ static void redraw(char *path) /* Get the file extension for regular files */ if (S_ISREG(pent->mode)) { - i = (int)strlen(pent->name); + i = (int)(pent->nlen - 1); ptr = xmemrchr((uchar *)pent->name, '.', i); if (ptr) attrs = ptr - pent->name; /* attrs used as tmp var */