nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

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:
MChangeLog | 5+++++
Msrc/rcfile.c | 12+++++++-----
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