At 03:33 PM 1/1/2002 -0800, Jason Diamond wrote: >Here's my output: > > > > > > cl -nologo -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT > -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX -I./i >nclu >de -Foio/io.obj -c io/io.c >io.c >io\io.c(323) : warning C4033: 'PIO_close' must return a value >c:\perl6\parrot\io\io.c(329) : warning C4715: 'PIO_close' : not all control >path >s return a value
Thanks, here is a fix for that. --- io.c.orig Tue Jan 1 19:48:14 2002 +++ io.c Tue Jan 1 19:48:45 2002 @@ -319,8 +319,7 @@ while(l) { if(l->api->Close) { PIO_flush(interpreter, io); - (*l->api->Close)(interpreter, l, io); - return; + return (*l->api->Close)(interpreter,l,io); } l = PIO_DOWNLAYER(l); } -- end patch -- > cl -nologo -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT > -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX -I./i >nclu >de -Foio/io_os.obj -c io/io_os.c >io_os.c >io\io_os.c(127) : error C2065: 'F_GETFL' : undeclared identifier >NMAKE : fatal error U1077: 'cl' : return code '0x2' >Stop. > >That one error is the only real problem. If I change your #if 1 to #if 0 >then it compiles fine. If you tell me what you're trying to do, I might be >able to figure out the Win32 way. Ok, let me research this for Win32, I'll hopefully get my environment working here soon. Basically that fcntl() call with F_GETFL is the UNIX way to get flags on an existing file descriptor if you don't already have them. (execs, passing between processes, etc.) If you see this flag in your headers let me know, its been a few years since I wrote low level Win32 stuff. Thanks for helping! -Melvin