From f7399b05f94c3bf39469d7255b619850534da58f Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Mon, 25 Dec 2017 01:44:48 +0530 Subject: [PATCH] Optimize xmemrchr() --- nnn.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/nnn.c b/nnn.c index 1a28e997..0fe58661 100644 --- a/nnn.c +++ b/nnn.c @@ -433,17 +433,19 @@ xstrcmp(const char *s1, const char *s2) static void * xmemrchr(uchar *s, uchar ch, size_t n) { + static uchar *ptr; + if (!s || !n) return NULL; - s = s + n - 1; + ptr = s + n; - while (n) { - if (*s == ch) - return s; + do { + --ptr; - --n, --s; - } + if (*ptr == ch) + return ptr; + } while (s != ptr); return NULL; }