Port to Solaris/SPARC64.
authorBruno Haible <bruno@clisp.org>
Mon, 23 Apr 2007 08:01:35 +0000 (08:01 +0000)
committerBruno Haible <bruno@clisp.org>
Mon, 23 Apr 2007 08:01:35 +0000 (08:01 +0000)
ChangeLog
lib/fbufmode.c

index dd4ebf6..0d906d8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2007-04-23  Bruno Haible  <bruno@clisp.org>
 
+       * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
+
+2007-04-23  Bruno Haible  <bruno@clisp.org>
+
        * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
 
 2007-04-23  Bruno Haible  <bruno@clisp.org>
index 3090d8f..6df6a20 100644 (file)
@@ -55,9 +55,13 @@ fbufmode (FILE *fp)
   if (fp->_flag & _IOLBF)
     return _IOLBF;
 # endif
+# if defined __sun && defined __sparc && defined _LP64 /* Solaris/SPARC 64-bit */
+  return ((unsigned int *) fp) [9] & (_IONBF | _IOFBF);
+# else
   if (fp->_flag & _IONBF)
     return _IONBF;
   return _IOFBF;
+# endif
 #else
  #error "Please port gnulib fbufmode.c to your platform! Look at the setvbuf implementation."
 #endif