Trying to track down various MSVC warnings that I'm getting, but I'm stuck about what to do, for this one:
In win32, PIOHANDLE is typedef'ed as HANDLE. In the windows API, GetStdHandle returns a HANDLE, (used in io_win32) open returns an int, (not used in parrot, but the MSDN examples show it used in conjunction with lseek) lseek takes an int, (used in io_win32) and isatty takes an int. (used in io_stdio) Parrot currently puts the return value of GetStdHandle into the io->fd, and then could use it in an lseek. MSVC complains about " 'int ' differs in levels of indirection from 'void *' ", where void * is HANDLE. Is this kosher programming, with HANDLE and int being perfectly interchangeable? Or do we need to choose an API and stick to it? Being unfamiliar with win32 io code, I don't know the proper solution to this. I think there are two options: one is to forgo handles and go with stdio interface, using open, close, etc as defined in VC98\Include\IO.H. The other is to stick with HANDLE's on windows, and try to find a way to lseek on HANDLEs. Or alternately, it's perfectly fine the way it is and we just need to silence the warning. And finally, I get a warning on io_win32's usage of _tcslen, as: "warning C4013: '_tcslen' undefined; assuming extern returning int" Mike Lambert