Add tentative support for OpenServer.
authorBruno Haible <bruno@clisp.org>
Tue, 8 Apr 2008 11:11:19 +0000 (13:11 +0200)
committerBruno Haible <bruno@clisp.org>
Tue, 8 Apr 2008 11:11:19 +0000 (13:11 +0200)
12 files changed:
ChangeLog
lib/fbufmode.c
lib/fpurge.c
lib/freadable.c
lib/freadahead.c
lib/freading.c
lib/freadptr.c
lib/freadseek.c
lib/fseeko.c
lib/fseterr.c
lib/fwritable.c
lib/fwriting.c

index db6db0f902f48979608029e27d3c2314ea4f30a7..0cb470d127026eb30b0626f4b871c43df3fccc7e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2008-04-08  Bruno Haible  <bruno@clisp.org>
+
+       Add tentative support for OpenServer.
+       * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
+       _ptr, _cnt.
+       * lib/fpurge.c (fpurge): Likewise.
+       * lib/freadable.c (freadable): Likewise.
+       * lib/freadahead.c (freadahead): Likewise.
+       * lib/freading.c (freading): Likewise.
+       * lib/freadptr.c (freadptr): Likewise.
+       * lib/freadseek.c (freadptrinc): Likewise.
+       * lib/fseeko.c (rpl_fseeko): Likewise.
+       * lib/fseterr.c (fseterr): Likewise.
+       * lib/fwritable.c (fwritable): Likewise.
+       * lib/fwriting.c (fwriting): Likewise.
+       Reported by Roger Cornelius <rac@tenzing.org> and
+       Brian K. White <brian@aljex.com>.
+
 2008-04-06  Jim Meyering  <meyering@redhat.com>
 
        * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
index 5f659bfe91d4c2ec7e14ace8b911192a2f6e6e60..52ce917c400be703fdf37b7b9a22612789785b28 100644 (file)
@@ -1,5 +1,5 @@
 /* Retrieve information about a FILE stream.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -46,7 +46,7 @@ fbufmode (FILE *fp)
   if (fp->_flags & __SNBF)
     return _IONBF;
   return _IOFBF;
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
 # if HAVE___FLBF                    /* Solaris >= 7 */
   if (__flbf (fp))
     return _IOLBF;
@@ -64,6 +64,9 @@ fbufmode (FILE *fp)
                       } *) fp)
   return fp_->_flag & (_IONBF | _IOFBF);
 # else
+#  if defined _SCO_DS               /* OpenServer */
+#   define _flag __flag
+#  endif
   if (fp->_flag & _IONBF)
     return _IONBF;
   return _IOFBF;
index cc230fb1cda27e7f528251b7fb98e74a2f6c3f6c..7bdc292637406dcd714c3d08dc18926bd50b7c31 100644 (file)
@@ -1,5 +1,5 @@
 /* Flushing buffers of a FILE stream.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -90,7 +90,12 @@ fpurge (FILE *fp)
       fp_ub._base = NULL;
     }
   return 0;
-# elif defined _IOERR               /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+# elif defined _IOERR               /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
+#  if defined _SCO_DS               /* OpenServer */
+#   define _base __base
+#   define _ptr __ptr
+#   define _cnt __cnt
+#  endif
   fp->_ptr = fp->_base;
   if (fp->_ptr != NULL)
     fp->_cnt = 0;
index e49c950ffd4a83b2f97c10c05e50a0b43fa1ae24..9e9cb09da59f6d78f1628267d431c46fe36656d8 100644 (file)
@@ -1,5 +1,5 @@
 /* Retrieve information about a FILE stream.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -29,7 +29,10 @@ freadable (FILE *fp)
   return (fp->_flags & _IO_NO_READS) == 0;
 #elif defined __sferror             /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
   return (fp->_flags & (__SRW | __SRD)) != 0;
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
+# if defined _SCO_DS                /* OpenServer */
+#  define _flag __flag
+# endif
   return (fp->_flag & (_IORW | _IOREAD)) != 0;
 #elif defined __QNX__               /* QNX */
   return (fp->_Mode & 0x1 /* _MOPENR */) != 0;
index a28595d39df9ab73660dc90d0c7e18622672b662..6c02d75a15e702e4b9e78b98c70fb077e466fd18 100644 (file)
@@ -43,7 +43,7 @@ freadahead (FILE *fp)
     return 0;
   return fp->_r
         + (HASUB (fp) ? fp->_ur : 0);
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
 # if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */
 #  define fp_ ((struct { unsigned char *_ptr; \
                         unsigned char *_base; \
@@ -56,6 +56,10 @@ freadahead (FILE *fp)
     return 0;
   return fp_->_cnt;
 # else
+#  if defined _SCO_DS               /* OpenServer */
+#   define _flag __flag
+#   define _cnt __cnt
+#  endif
   if ((fp->_flag & _IOWRT) != 0)
     return 0;
   return fp->_cnt;
index dcdc3d24c8f19ba296fbaffd7bbc4cba5108a525..11c943cdfc1ac0270b2b82fdbca0224a9e24b42e 100644 (file)
@@ -1,5 +1,5 @@
 /* Retrieve information about a FILE stream.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -35,7 +35,10 @@ freading (FILE *fp)
              && fp->_IO_read_base != NULL));
 #elif defined __sferror             /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
   return (fp->_flags & __SRD) != 0;
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
+# if defined _SCO_DS                /* OpenServer */
+#  define _flag __flag
+# endif
   return (fp->_flag & _IOREAD) != 0;
 #elif defined __UCLIBC__            /* uClibc */
   return (fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) != 0;
index 8459508a1fdfa161b485f4ad78675f8b8052e296..4b170363c2b7eb3fe255b48e92fbb30dbbbe3df2 100644 (file)
@@ -41,7 +41,7 @@ freadptr (FILE *fp, size_t *sizep)
     return NULL;
   *sizep = size;
   return (const char *) fp->_p;
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
 # if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */
 #  define fp_ ((struct { unsigned char *_ptr; \
                         unsigned char *_base; \
@@ -58,6 +58,11 @@ freadptr (FILE *fp, size_t *sizep)
   *sizep = size;
   return (const char *) fp_->_ptr;
 # else
+#  if defined _SCO_DS               /* OpenServer */
+#   define _flag __flag
+#   define _ptr __ptr
+#   define _cnt __cnt
+#  endif
   if ((fp->_flag & _IOWRT) != 0)
     return NULL;
   size = fp->_cnt;
index c4078d4f55af91ba34adad399f2705a148983532..82fd648191e0ca8c6c5127f36f9243bb34d7c469 100644 (file)
@@ -37,7 +37,7 @@ freadptrinc (FILE *fp, size_t increment)
 #elif defined __sferror             /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
   fp->_p += increment;
   fp->_r -= increment;
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
 # if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */
 #  define fp_ ((struct { unsigned char *_ptr; \
                         unsigned char *_base; \
@@ -49,6 +49,10 @@ freadptrinc (FILE *fp, size_t increment)
   fp_->_ptr += increment;
   fp_->_cnt -= increment;
 # else
+#  if defined _SCO_DS               /* OpenServer */
+#   define _ptr __ptr
+#   define _cnt __cnt
+#  endif
   fp->_ptr += increment;
   fp->_cnt -= increment;
 # endif
index 97dcf6da05c9ebfea0d02d97ea22f95f0dca59e1..1ed8921ad93078cd31d2638177239a3356fdb8d3 100644 (file)
@@ -1,5 +1,5 @@
 /* An fseeko() function that, together with fflush(), is POSIX compliant.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -70,7 +70,7 @@ rpl_fseeko (FILE *fp, off_t offset, int whence)
                    ? fp->_bf._size
                    : 0)
       && fp_ub._base == NULL)
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
 # if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */
 #  define fp_ ((struct { unsigned char *_ptr; \
                         unsigned char *_base; \
@@ -82,6 +82,11 @@ rpl_fseeko (FILE *fp, off_t offset, int whence)
   if (fp_->_ptr == fp_->_base
       && (fp_->_ptr == NULL || fp_->_cnt == 0))
 # else
+#  if defined _SCO_DS               /* OpenServer */
+#   define _base __base
+#   define _ptr __ptr
+#   define _cnt __cnt
+#  endif
   if (fp->_ptr == fp->_base
       && (fp->_ptr == NULL || fp->_cnt == 0))
 # endif
@@ -112,7 +117,10 @@ rpl_fseeko (FILE *fp, off_t offset, int whence)
          fp->_offset = pos;
          fp->_flags |= __SOFF;
          fp->_flags &= ~__SEOF;
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
+# if defined _SCO_DS                /* OpenServer */
+#  define _flag __flag
+# endif
           fp->_flag &= ~_IOEOF;
 #endif
          return 0;
index b34ef75f66bfc364b2ba63fe6f1e2e75f898f8f6..7b0c68b9f072c93731eeea105cd16ee9de33240b 100644 (file)
@@ -1,5 +1,5 @@
 /* Set the error indicator of a stream.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ fseterr (FILE *fp)
   fp->_flags |= _IO_ERR_SEEN;
 #elif defined __sferror             /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
   fp->_flags |= __SERR;
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
 # if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */
 #  define fp_ ((struct { unsigned char *_ptr; \
                         unsigned char *_base; \
@@ -42,6 +42,9 @@ fseterr (FILE *fp)
                       } *) fp)
   fp_->_flag |= _IOERR;
 # else
+#  if defined _SCO_DS               /* OpenServer */
+#   define _flag __flag
+#  endif
   fp->_flag |= _IOERR;
 # endif
 #elif defined __UCLIBC__            /* uClibc */
index 5617beee3da2eb1c885ea3db69b95ebc2855a7f0..278ef7e3c5861fab0aa69a016d7f8dc2e0df96b4 100644 (file)
@@ -1,5 +1,5 @@
 /* Retrieve information about a FILE stream.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -29,7 +29,10 @@ fwritable (FILE *fp)
   return (fp->_flags & _IO_NO_WRITES) == 0;
 #elif defined __sferror             /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
   return (fp->_flags & (__SRW | __SWR)) != 0;
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
+# if defined _SCO_DS                /* OpenServer */
+#  define _flag __flag
+# endif
   return (fp->_flag & (_IORW | _IOWRT)) != 0;
 #elif defined __QNX__               /* QNX */
   return (fp->_Mode & 0x2 /* _MOPENW */) != 0;
index 3ae6d569a2b1bcc2e8b45a898d23e9d5309e3089..9f3c1c98baeecb19447da0fd174774ac452746ec 100644 (file)
@@ -1,5 +1,5 @@
 /* Retrieve information about a FILE stream.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -29,7 +29,10 @@ fwriting (FILE *fp)
   return (fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) != 0;
 #elif defined __sferror             /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
   return (fp->_flags & __SWR) != 0;
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
+# if defined _SCO_DS                /* OpenServer */
+#  define _flag __flag
+# endif
   return (fp->_flag & _IOWRT) != 0;
 #elif defined __UCLIBC__            /* uClibc */
   return (fp->__modeflags & __FLAG_WRITING) != 0;