We only support the MSVC compiler and libc under windows (there are plenty of quirks and assumptions made about it for the win32 build).
Changing that typedef is slightly tricky; I left it as it was because there were compilation problems using older versons of MSVC and the platform SDK, and this redefinition is benign. If you can test you proposed change with MSVC 6, VS.Net and your VectorC compiler and make sure that it all still works, then we can commit it. --Wez. On Sun, 02 Jan 2005 11:41:32 +0100, David Strauss <[EMAIL PROTECTED]> wrote: > Hi! > > There is a small problem in cgi_main.c preventing it to be compiled > properly > with some compilers. > > WS2tcpip.h will get included into cgi_main.c by following inclusion chain: > cgi_main.c <- php_standard.h <- fsock.h <- php_network.h <- WS2tcpip.h > > Since php.h is included several lines before, socklen_t is already defined > as: > php.h (151): typedef unsigned int socklen_t; > > Now WS2tcpip.h gets included and tries to redefine socklen_t as: > WS2tcpip.h (593): typedef int socklen_t; > > I successfully tested it with the VectorC compiler, where this lead to a > terminal error. > > - David > > Addendum: > If you take a look into the CVS snapshot build log, you'll probably see > this > warning quite a lot of times (58x according to my editor): > C:\\Program Files\\Microsoft SDK\\Include\\.\ws2tcpip.h(593) : warning > C4142: benign redefinition of type > > Since this occurs throughout the whole build, the easiest solution is > proabably > to just change the lines 150-152 in php.h to something like this: > > #ifndef HAVE_SOCKLEN_T > # ifdef PHP_WIN32 > typedef int socklen_t; > # else > typedef unsigned int socklen_t; > # endif > #endif > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php