summaryrefslogtreecommitdiff
path: root/lib/fbufmode.c
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2007-04-23 08:01:35 +0000
committerBruno Haible <bruno@clisp.org>2007-04-23 08:01:35 +0000
commit80dce92274d417281d5339e4dc9de76224f74e81 (patch)
treeb7a460b6fda23e9b21ba83a8091a4f187f3144c1 /lib/fbufmode.c
parent8061d78e45bcc437223a11e091359c1dae24cfde (diff)
downloadgnulib-80dce92274d417281d5339e4dc9de76224f74e81.tar.gz
Port to Solaris/SPARC64.
Diffstat (limited to 'lib/fbufmode.c')
-rw-r--r--lib/fbufmode.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/fbufmode.c b/lib/fbufmode.c
index 3090d8f9cf..6df6a20050 100644
--- a/lib/fbufmode.c
+++ b/lib/fbufmode.c
@@ -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