Re: Recent readdir.h
| From: | Scott MacVicar | Date: | Tue, 22 Apr 2008 15:46:37 +0000 |
| Subject: | Re: Recent readdir.h | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-37176@lists.php.net to get a copy of this message | ||
It's working fine here on VC6 and 2005 on XP.
afaik the code was only there to deal with older versions of Windows that didn't have _WINNT32_WINNT defined.
More investigation is needed to see what exactly is broken. We may just need to rebuild some of the things in zip.zip again.
Scott
Richard Quadling wrote:
Hi. The recent commit to TSRM/readdir.h isn't quite right. The later versions of the MS VC compiler set _WINNT32_WINNT to 0x600. This causes problems later on in fopen_wrappers.c fopen_wrappers.c C:\Program Files\Microsoft SDKs\Windows\v6.1\include\ws2tcpip.h(583) : error C2373: 'inet_pton' : redefinition; different type modifiers..\php_build\include\arpa/inet.h(96) : see declaration of 'inet_pton'C:\Program Files\Microsoft SDKs\Windows\v6.1\include\ws2tcpip.h(600) : error C2373: 'inet_ntop' : redefinition; different type modifiers..\php_build\include\arpa/inet.h(97) : see declaration of 'inet_ntop'Changing readdir.h so that it simply undef _WIN32_WINNT first, preserves PHP's value for this constant. I've attached patches for 5.3 and head (HEAD is untested). By adding and removing the patches, I can get 5.3 to compile or not. This will only be a problem when using a MS compiler which supplies a _WIN32_WINNT > 0x0400. And as I'm following the new PHP documentation on compiling PHP for windows, I hope this gets in. Regards, Richard.