]> git.wh0rd.org Git - nano.git/commitdiff
rcfile fixes
authorChris Allegretta <chrisa@asty.org>
Fri, 29 Mar 2002 19:41:57 +0000 (19:41 +0000)
committerChris Allegretta <chrisa@asty.org>
Fri, 29 Mar 2002 19:41:57 +0000 (19:41 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1160 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
rcfile.c

index edbcf316bb7c81dc3263e11a0d958c7dbb84e01b..4046cedcb07ab863e73b5aa5bf79e8ba3f7de64d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -40,9 +40,15 @@ CVS code -
 - proto.h:
        - Missing externs (Rocco).
 - rcfile.c:
+  do_rcfile()
+       - Reset lineno between system and local .nanorc file.
+       - Fix errno->strerror(errno) mismatch.
   parse_rcfile()
        - Don't use i for both for loop and atoi(), fixes lots of 
          potential crashes, 1st reported by Jean-Philippe GuĂ©rard.
+  rcfile_error()
+       - Don't print out the file name if we haven't opened the file
+        yet (lineno == 0).
 - search.c:
   search_init()
        - Fix a missing free (Rocco).
index 9e4459f0edccaef5d684dac0aa0678674ffeda94..8531b7ce4790f2df8ada55fda90010f39ab925fb 100644 (file)
--- a/rcfile.c
+++ b/rcfile.c
@@ -77,7 +77,9 @@ void rcfile_error(char *msg, ...)
     va_list ap;
 
     fprintf(stderr, "\n");
-    fprintf(stderr, _("Error in %s on line %d: "), nanorc, lineno);
+    if (lineno > 0)
+       fprintf(stderr, _("Error in %s on line %d: "), nanorc, lineno);
+
     va_start(ap, msg);
     vfprintf(stderr, msg, ap);
     va_end(ap);
@@ -464,12 +466,13 @@ void do_rcfile(void)
     nanorc = charalloc(strlen(getenv("HOME")) + 10);
     sprintf(nanorc, "%s/.nanorc", getenv("HOME"));
 
+    lineno = 0;
     if (stat(nanorc, &fileinfo) == -1) {
 
        /* Abort if the file doesn't exist and there's some other kind
           of error stat()ing it */
        if (errno != ENOENT)
-           rcfile_error(unable, errno);
+           rcfile_error(unable, strerror(errno));
        return;
     }