From 788dc80bb6440c055318c0cf3b0f3d7704bbfa83 Mon Sep 17 00:00:00 2001
From: Arun Prakash Jana <engineerarun@gmail.com>
Date: Mon, 27 May 2019 07:23:30 +0530
Subject: [PATCH] Code refactor

---
 src/nnn.c | 36 ++++++++++++++----------------------
 1 file changed, 14 insertions(+), 22 deletions(-)

diff --git a/src/nnn.c b/src/nnn.c
index f47231bb..ce12e8ba 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -483,8 +483,8 @@ static void move_cursor(int target, int ignore_scrolloff);
  */
 static uchar crc8fast(const uchar * const message, size_t n)
 {
-	uchar data, remainder;
-	size_t byte;
+	uchar data, remainder = 0;
+	size_t byte = 0;
 
 	/* CRC data */
 	static const uchar crc8table[CRC8_TABLE_LEN] __attribute__ ((aligned)) = {
@@ -507,9 +507,10 @@ static uchar crc8fast(const uchar * const message, size_t n)
 	};
 
 	/* Divide the message by the polynomial, a byte at a time */
-	for (remainder = byte = 0; byte < n; ++byte) {
+	while (byte < n) {
 		data = message[byte] ^ (remainder >> (WIDTH - 8));
 		remainder = crc8table[data] ^ (remainder << 8);
+		++byte;
 	}
 
 	/* The final remainder is the CRC */
@@ -1257,18 +1258,13 @@ static int digit_compare(const char *a, const char *b)
  */
 static int xstricmp(const char * const s1, const char * const s2)
 {
-	const char *c1, *c2, *m1, *m2;
+	const char *c1 = s1, *c2 = s2, *m1, *m2;
 	int count1 = 0, count2 = 0, bias;
-	char sign[2];
+	char sign[2] = {'+', '+'};
 
-	sign[0] = '+';
-	sign[1] = '+';
-
-	c1 = s1;
 	while (ISBLANK(*c1))
 		++c1;
 
-	c2 = s2;
 	while (ISBLANK(*c2))
 		++c2;
 
@@ -1492,18 +1488,16 @@ static int entrycmp(const void *va, const void *vb)
  */
 static int nextsel(int presel)
 {
-	int c;
+	int c = presel;
 	uint i;
 	const uint len = LEN(bindings);
 #ifdef LINUX_INOTIFY
-	char *ptr;
 	struct inotify_event *event;
 	static char inotify_buf[EVENT_BUF_LEN]
 		    __attribute__ ((aligned(__alignof__(struct inotify_event))));
 #elif defined(BSD_KQUEUE)
 	static struct kevent event_data[NUM_EVENT_SLOTS];
 #endif
-	c = presel;
 
 	if (c == 0 || c == MSGWAIT) {
 		c = getch();
@@ -1529,6 +1523,8 @@ static int nextsel(int presel)
 		if (!cfg.blkorder && inotify_wd >= 0 && (idle & 1)) {
 			i = read(inotify_fd, inotify_buf, EVENT_BUF_LEN);
 			if (i > 0) {
+				char *ptr;
+
 				for (ptr = inotify_buf; ptr < inotify_buf + i;
 				     ptr += sizeof(struct inotify_event) + event->len) {
 					event = (struct inotify_event *) ptr;
@@ -2075,10 +2071,10 @@ static char *unescape(const char *str, uint maxcols)
 {
 	static wchar_t wbuf[NAME_MAX + 1] __attribute__ ((aligned));
 	wchar_t *buf = wbuf;
-	size_t len, lencount = 0;
+	size_t lencount = 0;
 
 	/* Convert multi-byte to wide char */
-	len = mbstowcs(wbuf, str, NAME_MAX);
+	size_t len = mbstowcs(wbuf, str, NAME_MAX);
 
 	while (*buf && lencount <= maxcols) {
 		if (*buf <= '\x1f' || *buf == '\x7f')
@@ -2110,10 +2106,8 @@ static char *coolsize(off_t size)
 {
 	const char * const U = "BKMGTPEZY";
 	static char size_buf[12]; /* Buffer to hold human readable size */
-	off_t rem;
-	int i;
-
-	rem = i = 0;
+	off_t rem = 0;
+	int i = 0;
 
 	while (size >= 1024) {
 		rem = size & (0x3FF); /* 1024 - 1 = 0x3FF */
@@ -2169,11 +2163,9 @@ static void printent(const struct entry *ent, int sel, uint namecols)
 {
 	const char *pname = unescape(ent->name, namecols);
 	const char cp = (ent->flags & FILE_COPIED) ? '+' : ' ';
-	char ind[2];
+	char ind[2] = {'\0', '\0'};
 	mode_t mode = ent->mode;
 
-	ind[0] = ind[1] = '\0';
-
 	switch (mode & S_IFMT) {
 	case S_IFREG:
 		if (mode & 0100)
-- 
2.51.0