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 X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs Date: Tue, 27 May 2003 11:19:30 -0400 (EDT) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: Peter Davis cc: cygwin AT cygwin DOT com Subject: Re: Behavior of stat() changed from NT to Win2000/XP In-Reply-To: Message-ID: Importance: Normal MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Tue, 27 May 2003, Peter Davis wrote: > Corinna Vinschen wrote in news:20030526141311 DOT GK875 AT cygbert DOT vinschen DOT de: > > > On Mon, May 26, 2003 at 09:58:11AM -0400, Peter Davis wrote: > >> On Windows NT, the Cygwin stat function returns a non-zero value in > >> the st_size field when called on a directory. However, in Windows > >> 2000 and Windows XP, this same function returns 0 for st_size for a > >> directory. This change in behavior has broken some features of mutt, > >> and possible other programs as well. > >> [...] > >> Is there some Cygwin setting or configuration option that controls > >> this? > > > > That's Windows, actually. This value is returned for directories > > by the FindFile routines. Nothing we can do about it. However, if > > mutt depends on the st_size of a directory, that's a problem in mutt. > > So this is a case where Cygwin fails to emulate *nix behavior. I assume > it works correctly on various *nix implementations. You may consider > that a Windows issue, but if the purpose of Cygwin is to provide a > porting environment, then that's a shortcoming of Cygwin. > > The mutt developers aren't particularly concerned with Cygwin or > Windows, so they don't regard this as an issue. I don't see why this is > a mutt problem. They assume that stat() works correctly. I'm not sure > who's responsible for the Cygwin build of mutt, or for including it in > Cygwin at all, but that's something to be considered in the future. > > I'm guessing there's no problem with mbox mail folders, since they're > just ordinary files. The problem comes in because maildir and MH > formats us directories as mail folders. > > BTW, if anyone knows how to build mutt under Cygwin, I'm *dying* to find > out. I can work around the stat() problem, but I have not succeeded in > building a mutt for Cygwin that doesn't crash on opening certain > messages. > > Thanks, > -pd The Single Unix Specification has this to say about the st_size field of the stat structure: off_t st_size file size in bytes (if file is a regular file) ^^^^^^^^^^^^^^^^^^^^^^^^^ This means, IMO, that the value for directories is unspecified, and a portable application cannot rely on it at all. Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "I have since come to realize that being between your mentor and his route to the bathroom is a major career booster." -- Patrick Naughton -- 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/