Re: [PATCH] Add a fast version of fstat to cygwin port
- From
Alex Riesen <raa.lkml@gmail.com>
- Date
- Mar 19, 2009, 15:14 UTC
- Message-ID
- <81b0412b0903190814i254ee2d1yc39035e78d7ad3d8@mail.gmail.com>
- In-Reply-To
- <49C25CAE.6000003@viscovery.net>
2009/3/19 Johannes Sixt <j.sixt@viscovery.net>:
Show 12 quoted lines
> Alex Riesen schrieb: >> BTW, why do we have to #undef fstat, but not stat/lstat? > > Because stat and lstat are #defined with an argument list, but in those > instances where the cygwin version of stat/lstat is meant, they are used > *without* argument list (see cygwin_stat/lstat_stub), and no macro > expansion happens, and therefore we don't need to #undef the macro. > > OTOH, do_fstat calls into cygwin's fstat() if the file handle is not a > file and uses an argument list that would cause a macro expansion if it > were not #undef'd: >
...
Show 5 quoted lines
>> + /* direct non-file handles to cygwin's fstat() */ >> + if (GetFileType(fh) != FILE_TYPE_DISK) >> + return fstat(fd, buf); > > We never do that for stat/lstat.
I see. Not immediately obvious :) Thanks!