]> git.wh0rd.org Git - nano.git/commitdiff
Get rid of \n in abort check of parse_next_word(), new var helplen in help_init()
authorChris Allegretta <chrisa@asty.org>
Wed, 2 Jan 2002 13:59:11 +0000 (13:59 +0000)
committerChris Allegretta <chrisa@asty.org>
Wed, 2 Jan 2002 13:59:11 +0000 (13:59 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@959 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
nano.c
rcfile.c

index f0799704253b5602b86cbaf04bf8614d2fa35870..b2c2a078d82d7b42532a3f14ead62e5748cee9bf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,9 +8,15 @@ CVS code -
          suspending nano on the Hurd.
   help_init()
        - Typo fixes in help strings (Jordi).
+       - New variable helplen needes cause currslen is not always
+         the length we want (bug found by David Lawrence Ramsey).
 - files.c:
   read_file()
        - Make conversion message less confusing (suggested by Jordi).
+- rcfile.c:
+  parse_next_word()
+       - Get rid of ptr == \n check to abort, screws up option
+         parsing (bug found by David Lawrence Ramsey)
 - winio.c:
   update_line()
        - set realdata check to >= 1 && <= 31, lack of > 0 check screwed
diff --git a/nano.c b/nano.c
index 0709d2a6f57656d002aa2396ea2b0c5c9cf7913e..9f823d072bf50ae699e761376aef4035f5d1ecc0 100644 (file)
--- a/nano.c
+++ b/nano.c
@@ -2383,10 +2383,15 @@ int do_justify(void)
 #ifndef DISABLE_HELP
 void help_init(void)
 {
-    int i, sofar = 0;
+    int i, sofar = 0, helplen;
     long allocsize = 1;                /* How much space we're gonna need for the help text */
     char buf[BUFSIZ] = "", *ptr = NULL;
 
+    if (currslen == MAIN_VISIBLE)
+       helplen = MAIN_LIST_LEN;
+    else 
+       helplen = currslen;
+
     /* First set up the initial help text for the current function */
     if (currshortcut == whereis_list || currshortcut == replace_list
             || currshortcut == replace_list_2)
@@ -2466,7 +2471,7 @@ void help_init(void)
 
     /* Compute the space needed for the shortcut lists - we add 15 to
        have room for the shortcut abbrev and its possible alternate keys */
-    for (i = 0; i <= currslen - 1; i++)
+    for (i = 0; i <= helplen - 1; i++)
        if (currshortcut[i].help != NULL)
            allocsize += strlen(currshortcut[i].help) + 15;
 
@@ -2491,7 +2496,7 @@ void help_init(void)
     strcpy(help_text, ptr);
 
     /* Now add our shortcut info */
-    for (i = 0; i <= currslen - 1; i++) {
+    for (i = 0; i <= helplen - 1; i++) {
        if (currshortcut[i].val > 0 && currshortcut[i].val < 'a')
           sofar = snprintf(buf, BUFSIZ, "^%c   ", currshortcut[i].val + 64);
        else
index b1527c29d47180cd76db7b7001619a442f417208..29ed11539a9f59e5f059a890b5072d336b185720 100644 (file)
--- a/rcfile.c
+++ b/rcfile.c
@@ -107,10 +107,10 @@ void rcfile_msg(int *errors, char *msg, ...)
 /* Parse the next word from the string.  Returns NULL if we hit EOL */
 char *parse_next_word(char *ptr)
 {
-    while (*ptr != ' ' && *ptr != '\t' && *ptr != '\n' && ptr != '\0')
+    while (*ptr != ' ' && *ptr != '\t' && *ptr != '\n' && *ptr != '\0')
        ptr++;
 
-    if (*ptr == '\0' || *ptr == '\n')
+    if (*ptr == '\0')
        return NULL;
        
     /* Null terminate and advance ptr */