From 36ddbac10abe25616efacf5b51ca81c84614a149 Mon Sep 17 00:00:00 2001
From: Luuk van Baal <luukvbaal@gmail.com>
Date: Sat, 3 Jul 2021 00:50:51 +0200
Subject: [PATCH] Move ajust cols and no else braces

---
 patches/namefirst/mainline.diff | 44 ++++++++++++++++-----------------
 src/nnn.c                       |  8 +++---
 2 files changed, 24 insertions(+), 28 deletions(-)

diff --git a/patches/namefirst/mainline.diff b/patches/namefirst/mainline.diff
index d73b8e55..fa944cff 100644
--- a/patches/namefirst/mainline.diff
+++ b/patches/namefirst/mainline.diff
@@ -4,10 +4,10 @@
 # Author: Luuk van Baal
 
 diff --git a/src/nnn.c b/src/nnn.c
-index eabe30f0..d8dc5925 100644
+index c4bced5..d1bc16d 100644
 --- a/src/nnn.c
 +++ b/src/nnn.c
-@@ -363,6 +363,10 @@ typedef struct {
+@@ -368,6 +368,10 @@ typedef struct {
  } session_header_t;
  #endif
 
@@ -18,7 +18,7 @@ index eabe30f0..d8dc5925 100644
  /* GLOBALS */
 
  /* Configuration, contexts */
-@@ -1039,10 +1043,12 @@ static char *getpwname(uid_t uid)
+@@ -1052,10 +1056,12 @@ static char *getpwname(uid_t uid)
  	static char *namecache;
 
  	if (uidcache != uid) {
@@ -31,7 +31,7 @@ index eabe30f0..d8dc5925 100644
  	}
 
  	return namecache ? namecache : xitoa(uid);
-@@ -1054,10 +1060,12 @@ static char *getgrname(gid_t gid)
+@@ -1067,10 +1073,12 @@ static char *getgrname(gid_t gid)
  	static char *grpcache;
 
  	if (gidcache != gid) {
@@ -44,7 +44,7 @@ index eabe30f0..d8dc5925 100644
  	}
 
  	return grpcache ? grpcache : xitoa(gid);
-@@ -3509,14 +3517,13 @@ static void resetdircolor(int flags)
+@@ -3521,14 +3529,13 @@ static void resetdircolor(int flags)
   * Max supported str length: NAME_MAX;
   */
  #ifdef NOLC
@@ -62,7 +62,7 @@ index eabe30f0..d8dc5925 100644
  {
  	wchar_t * const wbuf = (wchar_t *)g_buf;
  	wchar_t *buf = wbuf;
-@@ -3541,7 +3548,7 @@ static wchar_t *unescape(const char *str, uint_t maxcols)
+@@ -3553,7 +3560,7 @@ static wchar_t *unescape(const char *str, uint_t maxcols)
  		++buf;
  	}
 
@@ -70,8 +70,8 @@ index eabe30f0..d8dc5925 100644
 +	return len;
  }
 
- static off_t get_size(off_t size, off_t *pval, uint_t comp)
-@@ -3802,33 +3809,7 @@ static uchar_t get_color_pair_name_ind(const struct entry *ent, char *pind, int
+ static off_t get_size(off_t size, off_t *pval, int comp)
+@@ -3814,33 +3821,7 @@ static uchar_t get_color_pair_name_ind(const struct entry *ent, char *pind, int
  static void printent(const struct entry *ent, uint_t namecols, bool sel)
  {
  	char ind = '\0';
@@ -106,7 +106,7 @@ index eabe30f0..d8dc5925 100644
  	uchar_t color_pair = get_color_pair_name_ind(ent, &ind, &attrs);
 
  	addch((ent->flags & FILE_SELECTED) ? '+' | A_REVERSE | A_BOLD : ' ');
-@@ -3853,15 +3834,40 @@ static void printent(const struct entry *ent, uint_t namecols, bool sel)
+@@ -3865,15 +3846,40 @@ static void printent(const struct entry *ent, uint_t namecols, bool sel)
  		++namecols;
 
  #ifndef NOLC
@@ -149,8 +149,8 @@ index eabe30f0..d8dc5925 100644
 +		attroff(attrs);
  }
 
- static void savecurctx(settings *curcfg, char *path, char *curname, int nextctx)
-@@ -5849,18 +5855,6 @@ static void statusbar(char *path)
+ static void savecurctx(char *path, char *curname, int nextctx)
+@@ -5871,18 +5877,6 @@ static void statusbar(char *path)
  		tocursor();
  }
 
@@ -169,7 +169,7 @@ index eabe30f0..d8dc5925 100644
  static int adjust_cols(int n)
  {
  	/* Calculate the number of cols available to print entry name */
-@@ -5868,13 +5862,10 @@ static int adjust_cols(int n)
+@@ -5890,11 +5884,10 @@ static int adjust_cols(int n)
  	n -= (g_state.oldcolor ? 0 : 1 + xstrlen(ICON_PADDING_LEFT) + xstrlen(ICON_PADDING_RIGHT));
  #endif
  	if (cfg.showdetail) {
@@ -177,16 +177,14 @@ index eabe30f0..d8dc5925 100644
 -		if (n < 36)
 +		if (n < (dtls.maxentln + 1 - dtls.maxnameln))
  			cfg.showdetail ^= 1;
--		else {
--			/* 2 more accounted for below */
+-		else /* 2 more accounted for below */
 -			n -= 32;
--		}
 +		else
 +			n -= (dtls.maxentln - 2 - dtls.maxnameln);
  	}
 
  	/* 2 columns for preceding space and indicator */
-@@ -5912,8 +5903,6 @@ static void draw_line(char *path, int ncols)
+@@ -5932,8 +5925,6 @@ static void draw_line(char *path, int ncols)
  	if (dir)
  		attroff(COLOR_PAIR(cfg.curctx + 1) | A_BOLD);
 
@@ -195,13 +193,13 @@ index eabe30f0..d8dc5925 100644
  	statusbar(path);
  }
 
-@@ -6005,6 +5994,21 @@ static void redraw(char *path)
+@@ -6042,6 +6033,21 @@ static void redraw(char *path)
 
- 	attroff(A_UNDERLINE | COLOR_PAIR(cfg.curctx + 1));
+ 	onscreen = MIN(onscreen + curscroll, ndents);
 
 +	if (cfg.showdetail) {
-+	ushort_t lenbuf = dtls.maxnameln = dtls.maxsizeln = dtls.maxuidln = dtls.maxgidln = dtls.printguid = 0;
-+		for (i = curscroll; i < ndents && i < curscroll + onscreen; ++i) {
++		ushort_t lenbuf = dtls.maxnameln = dtls.maxsizeln = dtls.maxuidln = dtls.maxgidln = dtls.printguid = 0;
++		for (i = curscroll; i < onscreen; ++i) {
 +			if ((lenbuf = pdents[i].nlen - 1) > dtls.maxnameln) dtls.maxnameln = lenbuf;
 +			if ((lenbuf = xstrlen(coolsize(cfg.blkorder ? pdents[i].blocks << blk_shift : pdents[i].size))) > dtls.maxsizeln) dtls.maxsizeln = lenbuf;
 +#ifndef NOUG
@@ -211,13 +209,13 @@ index eabe30f0..d8dc5925 100644
 +			}
 +#endif
 +		}
++		dtls.maxentln = dtls.maxnameln + dtls.maxsizeln + (dtls.printguid ? (dtls.maxuidln + dtls.maxgidln + 29) : 26);
 +	}
-+	dtls.maxentln = dtls.maxnameln + dtls.maxsizeln + (dtls.printguid ? (dtls.maxuidln + dtls.maxgidln) : 0) + (g_state.uidgid ? 26 : 23);
 +
  	ncols = adjust_cols(ncols);
 
- 	/* Go to first entry */
-@@ -6046,8 +6050,6 @@ static void redraw(char *path)
+ 	/* Print listing */
+@@ -6066,8 +6072,6 @@ static void redraw(char *path)
  #endif
  	}
 
diff --git a/src/nnn.c b/src/nnn.c
index 82e199c5..c4bced56 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -5893,10 +5893,8 @@ static int adjust_cols(int n)
 		/* Fallback to light mode if less than 35 columns */
 		if (n < 36)
 			cfg.showdetail ^= 1;
-		else {
-			/* 2 more accounted for below */
+		else /* 2 more accounted for below */
 			n -= 32;
-		}
 	}
 
 	/* 2 columns for preceding space and indicator */
@@ -6027,8 +6025,6 @@ static void redraw(char *path)
 
 	attroff(A_UNDERLINE | COLOR_PAIR(cfg.curctx + 1));
 
-	ncols = adjust_cols(ncols);
-
 	/* Go to first entry */
 	if (curscroll > 0) {
 		move(1, 0);
@@ -6046,6 +6042,8 @@ static void redraw(char *path)
 
 	onscreen = MIN(onscreen + curscroll, ndents);
 
+	ncols = adjust_cols(ncols);
+
 	/* Print listing */
 	for (i = curscroll; i < onscreen; ++i) {
 		move(++j, 0);
-- 
2.51.0