Behavior of stat() changed from NT to Win2000/XP

Peter Davis pd@world.std.com
Tue May 27 15:26:00 GMT 2003


Corinna Vinschen <corinna-cygwin@cygwin.com> wrote in
news:20030526141311.GK875@cygbert.vinschen.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


--
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/



More information about the Cygwin mailing list