]> git.wh0rd.org Git - nano.git/commitdiff
2009-02-11 Chris Allegretta <chrisa@asty.org>
authorChris Allegretta <chrisa@asty.org>
Wed, 11 Feb 2009 05:45:57 +0000 (05:45 +0000)
committerChris Allegretta <chrisa@asty.org>
Wed, 11 Feb 2009 05:45:57 +0000 (05:45 +0000)
        * nanorc.c (parse_include): Do call real_dir_from_tilde() on included
          files in .nanorc, but still avoiding bug #25297.  Fixes ~ and ~user
          specifications for nanorc include files, as reported by Eitan Adler.

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

ChangeLog
src/rcfile.c

index 1628c2a0a94355acf87f966f9ad37cb51599b35a..41b0eb8041bd3f0dd20e663e4a6fc88cf9adc6e9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-02-11 Chris Allegretta <chrisa@asty.org>
+       * nanorc.c (parse_include): Do call real_dir_from_tilde() on included
+         files in .nanorc, but still avoiding bug #25297.  Fixes ~ and ~user
+         specifications for nanorc include files, as reported by Eitan Adler.
+
 2009-02-09 Chris Allegretta <chrisa@asty.org>
        * New option -q, --quiet, rcfile option "quiet" implemented.  Skips printing
          errors about the rcfile and asking user to press enter.  Also, nano should
index dd4c059e735401aabbe431fe8bfeeeb1671173bd..4704e85e71f8df1fbd667d6410a0a52c0b82969b 100644 (file)
@@ -474,7 +474,7 @@ void parse_include(char *ptr)
 {
     struct stat rcinfo;
     FILE *rcstream;
-    char *option, *nanorc_save = nanorc;
+    char *option, *nanorc_save = nanorc, *expanded;
     size_t lineno_save = lineno;
 
     option = ptr;
@@ -495,20 +495,22 @@ void parse_include(char *ptr)
        }
     }
 
+    expanded = real_dir_from_tilde(option);
+
     /* Open the new syntax file. */
-    if ((rcstream = fopen(option, "rb")) == NULL) {
-       rcfile_error(_("Error reading %s: %s"), option,
+    if ((rcstream = fopen(expanded, "rb")) == NULL) {
+       rcfile_error(_("Error reading %s: %s"), expanded,
                strerror(errno));
        return;
     }
 
     /* Use the name and line number position of the new syntax file
      * while parsing it, so we can know where any errors in it are. */
-    nanorc = option;
+    nanorc = expanded;
     lineno = 0;
 
 #ifdef DEBUG
-    fprintf(stderr, "Parsing file \"%s\"\n", option);
+    fprintf(stderr, "Parsing file \"%s\" (expanded from \"%s\")\n", expanded, option);
 #endif
 
     parse_rcfile(rcstream