]> granicus.if.org Git - mutt/commitdiff
Remove useless else branch in the $smart_wrap code. (see #3857)
authorKevin McCarthy <kevin@8t8.us>
Wed, 15 Nov 2017 22:53:24 +0000 (14:53 -0800)
committerKevin McCarthy <kevin@8t8.us>
Wed, 15 Nov 2017 22:53:24 +0000 (14:53 -0800)
Thanks to Vincent Lefèvre for noticing the nested else was redundant,
since buf_ptr is already set to "buf + cnt" after the format_line()
call.

This allows us to merge the inner and outer if statement, resulting in
simpler code.

pager.c

diff --git a/pager.c b/pager.c
index c77124438293445607edaba8941d893d74780708..4a9ac6a24e80bf3625ebefc699237699c33e2441 100644 (file)
--- a/pager.c
+++ b/pager.c
@@ -1462,27 +1462,23 @@ display_line (FILE *f, LOFF_T *last_pos, struct line_t **lineInfo, int n,
   /* move the break point only if smart_wrap is set */
   if (option (OPTWRAP))
   {
-    if (cnt < b_read)
+    if (cnt < b_read &&
+        ch != -1 &&
+        buf[cnt] != ' ' && buf[cnt] != '\t' && buf[cnt] != '\n' && buf[cnt] != '\r')
     {
-      if (ch != -1 &&
-         buf[cnt] != ' ' && buf[cnt] != '\t' && buf[cnt] != '\n' && buf[cnt] != '\r')
-      {
-       buf_ptr = buf + ch;
-       /* skip trailing blanks */
-       while (ch && (buf[ch] == ' ' || buf[ch] == '\t' || buf[ch] == '\r'))
-         ch--;
-        /* A very long word with leading spaces causes infinite
-         * wrapping when MUTT_PAGER_NSKIP is set.  A folded header
-         * with a single long word shouldn't be smartwrapped
-         * either.  So just disable smart_wrap if it would wrap at the
-         * beginning of the line. */
-        if (!ch)
-          buf_ptr = buf + cnt;
-        else
-          cnt = ch + 1;
-      }
+      buf_ptr = buf + ch;
+      /* skip trailing blanks */
+      while (ch && (buf[ch] == ' ' || buf[ch] == '\t' || buf[ch] == '\r'))
+        ch--;
+      /* A very long word with leading spaces causes infinite
+       * wrapping when MUTT_PAGER_NSKIP is set.  A folded header
+       * with a single long word shouldn't be smartwrapped
+       * either.  So just disable smart_wrap if it would wrap at the
+       * beginning of the line. */
+      if (!ch)
+        buf_ptr = buf + cnt;
       else
-       buf_ptr = buf + cnt; /* a very long word... */
+        cnt = ch + 1;
     }
     if (!(flags & MUTT_PAGER_NSKIP))
       /* skip leading blanks on the next line too */