--- configure.orig	2006-04-10 14:45:55.000000000 +0200
+++ configure	2006-04-10 14:46:17.000000000 +0200
@@ -222,22 +222,22 @@
 
   FreeBSD)
     DEFINES="$DEFINES SYS_FREEBSD"
-    LINKLIBS="$LINKLIBS -pthread -lm"
+    LINKLIBS="$LINKLIBS -pthread"
     ;;
 
   NetBSD)
     DEFINES="$DEFINES SYS_NETBSD"
-    LINKLIBS="$LINKLIBS -lpthread -lm"
+    LINKLIBS="$LINKLIBS -lpthread"
     ;;
 
   OpenBSD)
     DEFINES="$DEFINES SYS_OPENBSD"
-    LINKLIBS="$LINKLIBS -lpthread -lm"
+    LINKLIBS="$LINKLIBS -lpthread"
     ;;
 
   Linux)
     DEFINES="$DEFINES SYS_LINUX"
-    LINKLIBS="$LINKLIBS -lpthread -lm"
+    LINKLIBS="$LINKLIBS -lpthread"
     ;;
 
   *)
--- libtransmission/choking.c.orig	2006-04-10 14:44:16.000000000 +0200
+++ libtransmission/choking.c	2006-04-10 14:47:46.000000000 +0200
@@ -20,13 +20,8 @@
  * DEALINGS IN THE SOFTWARE.
  *****************************************************************************/
 
-#include <math.h>
 #include "transmission.h"
 
-#ifdef SYS_BEOS
-#define lrintf(a) ((int)(0.5+(a)))
-#endif
-
 /* We may try to allocate and free tables of size 0. Quick and dirty
    way to handle it... */
 void * __malloc( int size )
@@ -74,7 +69,7 @@
             20  KB/s -> 6  * 3.33 KB/s
             50  KB/s -> 10 * 5.00 KB/s
             100 KB/s -> 14 * 7.14 KB/s */
-        c->slots = lrintf( sqrt( 2 * limit ) );
+        c->slots = (3 + limit/10 );
     tr_lockUnlock( &c->lock );
 }
 
