Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Tue, 20 Apr 2004 01:49:53 -0700 From: Yitzchak Scott-Thoennes To: cygwin AT cygwin DOT com Subject: problems with mutt and 20040416 snapsnot Message-ID: <20040420084953.GB2120@efn.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.1i Organization: bs"d X-IsSubscribed: yes 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. -- 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/