Re: MinGW and bigloo4.1a

Joseph Donaldson <[email protected]>
Newsgroups gmane.lisp.scheme.bigloo
Message-ID <[email protected]>
Hello, Manuel,


As to cdate.c, you are correct the change to how time is called is not needed. The only change needed is the addition of the _USE_32BIT_TIME_T define. This makes windows use a 32bit time_t definition instead of the default 64bit time_t definition. According to MSDN, both win32 and win64, by default, use a 64 bits definition. The use of the 64bit time_t definition was causing a segmentation fault on windows, since bigloo assumes the time_t value can be stored in a long. 


I agree with your caution on the csocket.c changes. In fact, upon receiving your initial response to my patches, I reviewed the changes to
 csocket.c, suspecting these changes were the likely source of your questions, and found a mistake. In get_sock_hostname, the prepocessor condition arround the call to getsockname should reference, as it originally did, BGL_HAVE_GETADDRINFO not BGL_HAVE_INET_ATON or BGL_HAVE_INET_PTON. I believe I originally made the change due the conditional definition of sin above it. In the case where neither BGL_HAVE_INET_ATON or BGL_HAVE_INET_PTON  are defined, sin is a pointer. This would have caused the call to getsockname to fail. An updated patch is attached.

Additionally, as you probably noticed given the windows version defines, I decided to use features only found in Windows XP and above. I thought this was reasonable. In fact, we may want to consider moving the minimum version to Vista. This would allow us to use inet_pton as well as other functions. What are your thoughts?

Thanks,
Joseph Donaldson
csocket.patch2 (application/octet-stream, 11.1 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.