This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Win32 inet_pton fallback misc fixes
authorDaniel Dragan <bulk88@hotmail.com>
Thu, 10 Sep 2015 07:36:36 +0000 (03:36 -0400)
committerSteve Hay <steve.m.hay@googlemail.com>
Sat, 17 Oct 2015 21:17:10 +0000 (22:17 +0100)
commite45189ae472830e78ec678c4bd0c35cbe52b10f8
tree9ad4d65902a5ad8a71540e52846b9d2f6b6f618d
parent00ebc5bdc54d3943d2470f1053942f5849ab1a9d
Win32 inet_pton fallback misc fixes

-VC complains in inet_pton
 "warning C4715: 'inet_pton' : not all control paths return a value"
 this isn't much a problem since Socket.xs doesn't allow anything but
 AF_INET and AF_INET6 on a XSUB level but fix the implementation anyway
 since the previous cargo culted off the internet version has flaws, so
 the Socket.xs version is usable elsewhere if necessery
-remove copying the string to C auto array, unix inet_ptoa requires null
 terminated strings, so does WSAStringToAddress. WSAStringToAddress's docs
 dont mention a maximum length to the input string, so no reason to
 truncate and re-null terminate it
-MSDN's docs for WSAStringToAddress mentions that filling in sin_family
 is required, even though lpAddress is an output arg, not input and a
 duplicate of arg AddressFamily, there is probably some legacy protocol
 driver out in the world that requires this
-static the functions, these fallbacks dont need to be visible in any other
 .o, and with static they might be inlined/further optimized
-provide fallbacks for Visual C 6 (circa 1998) with very old headers that
 were created before RFC 2553 was created
cpan/Socket/Socket.xs