Subject: | compiler warning pointer cast |
When building Socket6 on OpenBSD/amd64 I get a compiler warning:
Socket6.xs: In function 'XS_Socket6_getipnodebyname':
Socket6.xs:871: warning: cast to pointer from integer of different size
Socket6.xs: In function 'XS_Socket6_getipnodebyaddr':
Socket6.xs:942: warning: cast to pointer from integer of different size
On this platform int is 32 bit and pointer type is 64 bit. The
warning can be avoided if not_here() returns long. Then there will
be no undefined parts in the pointer storage. This fix is cosmetic
as the assignment should not be reached.
--- Socket6.xs.orig Mon Apr 11 05:27:34 2016
+++ Socket6.xs Mon Aug 8 14:38:55 2016
@@ -109,7 +109,7 @@ const struct in6_addr in6addr_loopback = IN6ADDR_LOOPB
#define PL_sv_undef sv_undef
#endif
-static int
+static long
not_here(char *s)
{
croak("Socket6::%s not implemented on this architecture", s);