-# if defined __sun && defined __sparc && defined _LP64 /* Solaris/SPARC 64-bit */
- return ((unsigned int *) fp) [9] & (_IONBF | _IOFBF);
-# else
- if (fp->_flag & _IONBF)
+ if (fp_->_flag & _IONBF)
+ return _IONBF;
+ return _IOFBF;
+#elif defined __UCLIBC__ /* uClibc */
+ if (fp->__modeflags & __FLAG_LBF)
+ return _IOLBF;
+ if (fp->__modeflags & __FLAG_NBF)
+ return _IONBF;
+ return _IOFBF;
+#elif defined __QNX__ /* QNX */
+ if (fp->_Mode & 0x400 /* _MLBF */)
+ return _IOLBF;
+ if (fp->_Mode & 0x800 /* _MNBF */)