commit f7399b05f94c3bf39469d7255b619850534da58f parent 436d2143fd6d4d5b39c1e0e01762b15d4558a6e2 Author: Arun Prakash Jana <engineerarun@gmail.com> Date: Mon, 25 Dec 2017 01:44:48 +0530 Optimize xmemrchr() Diffstat:
| M | nnn.c | | | 14 | ++++++++------ |
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git 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; }