commit 8257bf145e50c03d528adf32692c15d6e5011677
parent a30eb78006b3c0e5b7744a6b8412e6d5d7164b23
Author: Chris Allegretta <chrisa@asty.org>
Date: Wed, 11 Feb 2009 05:45:57 +0000
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.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4375 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git 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
diff --git a/src/rcfile.c b/src/rcfile.c
@@ -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