]> git.wh0rd.org Git - nano.git/commitdiff
in help_line_len(), properly handle the case where we can't break the
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Mon, 19 Jun 2006 14:18:22 +0000 (14:18 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Mon, 19 Jun 2006 14:18:22 +0000 (14:18 +0000)
line of help text, and wrap the line of help text at (COLS - 1) instead
of (COLS - 8), for consistency

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3666 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/help.c

index a92a28d1993c19210ea871e8db50903941721816..0c9b39ad0b502e64dd9193e69ef4ab1569f9e47a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -267,6 +267,12 @@ CVS code -
          consistency with the file browser. (DLR, suggested by Benno
          Schulenberg)
        - Remove redundant key checks. (DLR)
+  help_line_len()
+       - Properly handle the case where we can't break the line of help
+         text. (DLR)
+       - Wrap the line of help text at (COLS - 1) instead of
+         (COLS - 8), for consistency. (DLR, suggested by Benno
+         Schulenberg)
 - nano.c:
   print1opt_full()
        - Rename to print_opt_full(), for consistency. (DLR)
index 84b7ba3dafecad6b2d0a5cbeb9116ff56704d150..9beb74dcbc601b426f70454d53cfaeec56778c14 100644 (file)
@@ -596,21 +596,22 @@ void parse_help_input(int *kbinput, bool *meta_key, bool *func_key)
 /* Calculate the next line of help_text, starting at ptr. */
 size_t help_line_len(const char *ptr)
 {
-    int help_cols = (COLS > 24) ? COLS - 8 : 24;
+    int help_cols = (COLS > 24) ? COLS - 1 : 24;
 
-    /* Try to break the line at (COLS - 8) columns if we have more than
+    /* Try to break the line at (COLS - 1) columns if we have more than
      * 24 columns, and at 24 columns otherwise. */
-    size_t retval = break_line(ptr, help_cols, TRUE);
+    ssize_t wrap_loc = break_line(ptr, help_cols, TRUE);
+    size_t retval = (wrap_loc < 0) ? 0 : wrap_loc;
     size_t retval_save = retval;
 
     /* Get the length of the entire line up to a null or a newline. */
     while (*(ptr + retval) != '\0' && *(ptr + retval) != '\n')
        retval += move_mbright(ptr + retval, 0);
 
-    /* If the entire line doesn't go more than 8 columns beyond where we
+    /* If the entire line doesn't go more than 1 column beyond where we
      * tried to break it, we should display it as-is.  Otherwise, we
      * should display it only up to the break. */
-    if (strnlenpt(ptr, retval) > help_cols + 8)
+    if (strnlenpt(ptr, retval) > help_cols + 1)
        retval = retval_save;
 
     return retval;