*** old/diskfile.C	Fri Apr 26 16:24:01 1996
--- diskfile.C	Mon Jul 12 15:28:20 1999
***************
*** 50,56 ****
  #if defined(linux)
  extern "C" void setbuffer(FILE*, char*, int);
  #else
! #if !defined( sgi ) && !defined( sun )
  extern "C" int setbuffer(FILE*, char*, int);
  #endif
  #endif
--- 50,56 ----
  #if defined(linux)
  extern "C" void setbuffer(FILE*, char*, int);
  #else
! #if !defined( sgi ) && !defined( sun ) && !defined( __FreeBSD__ )
  extern "C" int setbuffer(FILE*, char*, int);
  #endif
  #endif
***************
*** 193,198 ****
--- 193,203 ----
        rw &= ~01;
      if (fp->_flags & _IO_NO_WRITES)
        rw &= ~02;
+ #elif defined(__FreeBSD__)
+     if (fp->_flags & (__SRD|__SRW))
+       rw |= 01;
+     if (fp->_flags & (__SWR|__SRW|__SAPP))
+       rw |= 02;
  #else
      if (fp->_flag & (_IOREAD|_IORW))
        rw |= 01;
