This fixes a compile error under Solaris: "a cast does not yield an
lvalue".  I think this is something that GCC allows that others don't.

It's not entirely clear to me why 'rflags' was a UINTVAL to begin with.
It doesn't look like this code is really in use anyway.  But in any case,
casting an lvalue is probably not a good idea here.

Index: io_unix.c
===================================================================
RCS file: /home/perlcvs/parrot/io/io_unix.c,v
retrieving revision 1.15
diff -u -r1.15 io_unix.c
--- io_unix.c   17 Mar 2002 05:07:31 -0000      1.15
+++ io_unix.c   18 Mar 2002 23:35:02 -0000
@@ -193,7 +193,7 @@
     ParrotIO *io;
     UINTVAL oflags, mode;
 #ifdef HAS_HEADER_FCNTL
-    UINTVAL rflags;
+    INTVAL rflags;
 #endif
     mode = 0;

@@ -203,7 +203,7 @@
         /* FIXME - Check file handle flags, validity */
 #ifdef HAS_HEADER_FCNTL
         /* Get descriptor flags */
-        if (((INTVAL)rflags = fcntl(fd, F_GETFL, 0)) >= 0) {
+        if ((rflags = fcntl(fd, F_GETFL, 0)) >= 0) {
         /*int accmode = rflags & O_ACCMODE; */
         /* Check other flags (APPEND, ASYNC, etc) */
     }


- D

<[EMAIL PROTECTED]>

Reply via email to