From c19706006db2ffbfcf10daae0a2500255acef0b1 Mon Sep 17 00:00:00 2001
From: Arun Prakash Jana <engineerarun@gmail.com>
Date: Thu, 12 Jul 2018 19:58:53 +0530
Subject: [PATCH] Reduce indentation level

---
 README.md |   8 +--
 nnn.c     | 142 +++++++++++++++++++++++++++++-------------------------
 2 files changed, 80 insertions(+), 70 deletions(-)

diff --git a/README.md b/README.md
index 5638f995..513f76db 100644
--- a/README.md
+++ b/README.md
@@ -51,7 +51,7 @@ Have fun with it! Missing a feature? Want to contribute? Head to the rolling [To
   - [Keyboard shortcuts](#keyboard-shortcuts)
   - [Filters](#filters)
   - [Navigate-as-you-type mode](#navigate-as-you-type-mode)
-  - [File type abbreviations](#file-type-abbreviations)
+  - [File indicators](#file-indicators)
   - [File handling](#file-handling)
   - [Help](#help)
 - [Quickstart](#quickstart)
@@ -276,11 +276,11 @@ If `nnn` is invoked as root or the environment variable `NNN_SHOW_HIDDEN` is set
 
 In this mode directories are opened in filter mode, allowing continuous navigation. Works best with the **arrow keys**.
 
-#### File type abbreviations
+#### File indicators
 
-The following abbreviations are used in the detail view:
+The following indicators are used in the detail view:
 
-| Symbol | File Type |
+| Indicator | File Type |
 | --- | --- |
 | `/` | Directory |
 | `*` | Executable |
diff --git a/nnn.c b/nnn.c
index 1f68a293..af1d7b6d 100644
--- a/nnn.c
+++ b/nnn.c
@@ -1210,7 +1210,8 @@ xreadline(char *fname, char *prompt)
 		mvaddnwstr(y, x, buf, len + 1);
 		move(y, x + wcswidth(buf, pos));
 
-		if ((r = get_wch(ch)) != ERR) {
+		r = get_wch(ch);
+		if (r != ERR) {
 			if (r == OK) {
 				switch (*ch) {
 				case KEY_ENTER: //fallthrough
@@ -2982,82 +2983,91 @@ nochange:
 				copycurname();
 			goto begin;
 		case SEL_COPY:
-			if (!(cfg.noxdisplay || copier))
+			if (!(cfg.noxdisplay || copier)) {
 				printmsg(messages[STR_COPY_ID]);
-			else if (ndents) {
-				if (cfg.copymode) {
-					r = mkpath(path, dents[cur].name, newpath, PATH_MAX);
-					if (!appendfpath(newpath, r))
-						goto nochange;
-					++ncp;
-					printmsg(newpath);
-				} else if (cfg.quote) {
-					g_buf[0] = '\'';
-					r = mkpath(path, dents[cur].name, g_buf + 1, PATH_MAX);
-					g_buf[r] = '\'';
-					g_buf[r + 1] = '\0';
-
-					if (cfg.noxdisplay)
-						writecp(g_buf, r + 1); /* Truncate NULL from end */
-					else
-						spawn(copier, g_buf, NULL, NULL, F_NOTRACE);
+				goto nochange;
+			}
 
-					g_buf[r] = '\0';
-					printmsg(g_buf + 1);
-				} else {
-					r = mkpath(path, dents[cur].name, newpath, PATH_MAX);
-					if (cfg.noxdisplay)
-						writecp(newpath, r - 1); /* Truncate NULL from end */
-					else
-						spawn(copier, newpath, NULL, NULL, F_NOTRACE);
-					printmsg(newpath);
-				}
+			if (!ndents)
+				goto nochange;
+
+			if (cfg.copymode) {
+				r = mkpath(path, dents[cur].name, newpath, PATH_MAX);
+				if (!appendfpath(newpath, r))
+					goto nochange;
+				++ncp;
+				printmsg(newpath);
+			} else if (cfg.quote) {
+				g_buf[0] = '\'';
+				r = mkpath(path, dents[cur].name, g_buf + 1, PATH_MAX);
+				g_buf[r] = '\'';
+				g_buf[r + 1] = '\0';
+
+				if (cfg.noxdisplay)
+					writecp(g_buf, r + 1); /* Truncate NULL from end */
+				else
+					spawn(copier, g_buf, NULL, NULL, F_NOTRACE);
+
+				g_buf[r] = '\0';
+				printmsg(g_buf + 1);
+			} else {
+				r = mkpath(path, dents[cur].name, newpath, PATH_MAX);
+				if (cfg.noxdisplay)
+					writecp(newpath, r - 1); /* Truncate NULL from end */
+				else
+					spawn(copier, newpath, NULL, NULL, F_NOTRACE);
+				printmsg(newpath);
 			}
 			goto nochange;
 		case SEL_COPYMUL:
-			if (!(cfg.noxdisplay || copier))
+			if (!(cfg.noxdisplay || copier)) {
 				printmsg(messages[STR_COPY_ID]);
-			else if (ndents) {
-				cfg.copymode ^= 1;
-				if (cfg.copymode) {
-					g_crc = crc8fast((uchar *)dents, ndents * sizeof(struct entry));
+				goto nochange;
+			}
+
+			if (!ndents)
+				goto nochange;
+
+			cfg.copymode ^= 1;
+			if (cfg.copymode) {
+				g_crc = crc8fast((uchar *)dents, ndents * sizeof(struct entry));
+				copystartid = cur;
+				copybufpos = 0;
+				ncp = 0;
+				printmsg("multi-copy on");
+				DPRINTF_S("copymode on");
+				goto nochange;
+			}
+
+			if (!ncp) { /* Handle range selection */
+				if (cur < copystartid) {
+					copyendid = copystartid;
 					copystartid = cur;
-					copybufpos = 0;
-					ncp = 0;
-					printmsg("multi-copy on");
-					DPRINTF_S("copymode on");
-				} else {
-					if (!ncp) { /* Handle range selection */
-						if (cur < copystartid) {
-							copyendid = copystartid;
-							copystartid = cur;
-						} else
-							copyendid = cur;
-
-						if (copystartid < copyendid) {
-							for (r = copystartid; r <= copyendid; ++r)
-								if (!appendfpath(newpath, mkpath(path, dents[r].name, newpath, PATH_MAX)))
-									goto nochange;
-
-							snprintf(newpath, PATH_MAX, "%d files copied", copyendid - copystartid + 1);
-							printmsg(newpath);
-						}
-					}
+				} else
+					copyendid = cur;
 
-					if (copybufpos) { /* File path(s) written to the buffer */
-						if (cfg.noxdisplay)
-							writecp(pcopybuf, copybufpos - 1); /* Truncate NULL from end */
-						else
-							spawn(copier, pcopybuf, NULL, NULL, F_NOTRACE);
+				if (copystartid < copyendid) {
+					for (r = copystartid; r <= copyendid; ++r)
+						if (!appendfpath(newpath, mkpath(path, dents[r].name, newpath, PATH_MAX)))
+							goto nochange;
 
-						if (ncp) { /* Some files cherry picked */
-							snprintf(newpath, PATH_MAX, "%d files copied", ncp);
-							printmsg(newpath);
-						}
-					} else
-						printmsg("multi-copy off");
+					snprintf(newpath, PATH_MAX, "%d files copied", copyendid - copystartid + 1);
+					printmsg(newpath);
 				}
 			}
+
+			if (copybufpos) { /* File path(s) written to the buffer */
+				if (cfg.noxdisplay)
+					writecp(pcopybuf, copybufpos - 1); /* Truncate NULL from end */
+				else
+					spawn(copier, pcopybuf, NULL, NULL, F_NOTRACE);
+
+				if (ncp) { /* Some files cherry picked */
+					snprintf(newpath, PATH_MAX, "%d files copied", ncp);
+					printmsg(newpath);
+				}
+			} else
+				printmsg("multi-copy off");
 			goto nochange;
 		case SEL_QUOTE:
 			cfg.quote ^= 1;
-- 
2.51.0