This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: problems with mutt and 20040416 snapsnot


On Tue, Apr 20, 2004 at 01:49:53AM -0700, I wrote:
> After switching from 1.5.9 to the 20040416 snapsnot, mutt
> starts complaining "Could not create temporary file!" when
> trying to view a message.  The problem seems to be in the
> code checking if a created temp file is a symlink:
> 
> > static int compare_stat (struct stat *osb, struct stat *nsb)
> > {
> >   if (osb->st_dev != nsb->st_dev || osb->st_ino != nsb->st_ino ||
> >       osb->st_rdev != nsb->st_rdev)
> >   {
> >     return -1;
> >   }
> > 
> >   return 0;
> > }
> 
> called from here:
> 
> > int safe_open (const char *path, int flags)
> > {
> >   struct stat osb, nsb;
> >   int fd, ls, fs;
> > 
> >   if ((fd = open (path, flags, 0600)) < 0) {
> >     printf("open failed!\n");
> >     return fd;
> >   }
> > 
> >   /* make sure the file is not symlink */
> >   if ((ls=lstat (path, &osb)) < 0 || (fs=fstat (fd, &nsb)) < 0 ||
> >       compare_stat(&osb, &nsb) == -1)
> 
> because the inode numbers no longer seem to match.  Commenting out the
> return -1; works as a workaround.
> 
> After doing so, and building my own mutt I am sporadically getting
> "Couldn't lock " mailbox-name errors from mbox_lock_mailbox failing.

The code fragments above are from mutt's lib.c.  cygcheck output attached.

Attachment: cygcheck.out
Description: Text document

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]