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

Reply via email to