PATCH: Bugfix on -F
As you all know, running "mutt -F foo.rc" will have mutt read foo.rc as its
config file. However, there is a bug -- if you specify a directory (like
accidentally typing "mutt -F /etc/mutt") mutt will silently ignore the flag
and leave you wondering why it isn't working.
Emil Sit posted a patch for this in March of 2002, but it seems to have
slipped through the cracks. Here's the patch again; please consider it for
inclusion.
Index: init.c
===================================================================
RCS file: /home/roessler/cvs/mutt/init.c,v
retrieving revision 3.17
diff -u -r3.17 init.c
--- init.c 4 Jan 2004 11:10:21 -0000 3.17
+++ init.c 18 Jan 2004 23:26:03 -0000
@@ -1254,6 +1254,18 @@
char *linebuf = NULL;
size_t buflen;
pid_t pid;
+ struct stat s;
+
+ if (stat (rcfile, &s) < 0)
+ {
+ snprintf (err->data, err->dsize, "%s: stat: %s", rcfile, strerror (errno));
+ return (-1);
+ }
+ if (!S_ISREG (s.st_mode))
+ {
+ snprintf (err->data, err->dsize, "%s: not a regular file", rcfile);
+ return (-1);
+ }
if ((f = mutt_open_read (rcfile, &pid)) == NULL)
{