From: Arun Prakash Jana Date: Mon, 8 Jan 2018 18:43:11 +0000 (+0530) Subject: Explicitly optimize modulo ops X-Git-Tag: v1.7~39 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=f6fd15e088f22a90a9d3f01dd8436a507fe5febc;p=nnn.git Explicitly optimize modulo ops --- diff --git a/nnn.c b/nnn.c index c7e5d48d..397ccd1c 100644 --- a/nnn.c +++ b/nnn.c @@ -384,7 +384,7 @@ xstrlcpy(char *dest, const char *src, size_t n) s = (ulong *)src; d = (ulong *)dest; blocks = n >> _WSHIFT; - n -= (blocks << _WSHIFT); + n &= lsize - 1; while (blocks) { *d = *s; @@ -1278,7 +1278,6 @@ coolsize(off_t size) static const char * const U = "BKMGTPEZY"; static char size_buf[12]; /* Buffer to hold human readable size */ static int i; - static off_t tmp; static long double rem; static const double div_2_pow_10 = 1.0 / 1024.0; @@ -1287,9 +1286,8 @@ coolsize(off_t size) rem = 0; while (size > 1024) { - tmp = size; + rem = size & (0x3FF); /* 1024 - 1 = 0x3FF */ size >>= 10; - rem = tmp - (size << 10); ++i; }