As of commit
0cb9638729 IOCtl from perlhost is prototyped to take a char *.
In the later commit
2986a63f7e5 the netware commit is introduced that adds
a void* cast without explination, but today PerlLIOIOCtl is prototyped as
char* in nwperlhost.h (nwperlhost.h didnt exist at
2986a63f7e5 ). In
commit
6e22d04617 Win32 starts to use the void * cast from netware.
Using a void * cast breaks a VC 2003 C++ mode build of IO.xs because of
different types. Switch to a char * cast that matches the vtable prototype.
int flag = 0;
# ifdef SIOCATMARK
# if defined(NETWARE) || defined(WIN32)
- if (ioctl(fd, SIOCATMARK, (void*)&flag) != 0)
+ if (ioctl(fd, SIOCATMARK, (char*)&flag) != 0)
# else
if (ioctl(fd, SIOCATMARK, &flag) != 0)
# endif