--- scrt/cio.c.orig	Wed Feb 24 08:26:58 1993
+++ scrt/cio.c	Wed Feb  2 22:22:22 2000
@@ -143,6 +143,10 @@
 #define HAVE_RUSAGE
 #endif
 
+#ifdef FREEBSD
+#define HAVE_RUSAGE
+#endif
+
 #ifdef SYSV
 #define HAVE_TIMES
 #else
@@ -467,7 +471,11 @@
 	struct timeval  timeout;
 
 	stream = (FILE*)TSCP_POINTER( file );
+#ifdef FREEBSD
+	if  (((stream)->_r) <= 0)  {
+#else
 	if  (((stream)->_cnt) <= 0)  {
+#endif
 	   FD_ZERO( &readfds );
 	   FD_SET( fileno( stream ), &readfds );
 	   timeout.tv_sec = 0;
@@ -549,7 +557,7 @@
 	      break;
 
 	   case 3:
-#ifdef MAC
+#if defined(MAC) || defined(FREEBSD)
 	      sprintf( format, "%%.%lilg", (long)TSCP_S2CINT( length ) );
 	      sprintf( buffer, format, TSCP_DOUBLE( number ) );
 #else
