diff --git a/lib/modules/Yabu.pmod/module.pmod b/lib/modules/Yabu.pmod/module.pmod
index 527df1986db185f62c4373e959a3819002d3d703..c686bc1ae385e5d5e272f226936d7958f7fd3005 100644
--- a/lib/modules/Yabu.pmod/module.pmod
+++ b/lib/modules/Yabu.pmod/module.pmod
@@ -4,7 +4,7 @@
  * associated with a unique key.
  */
 
-constant cvs_id = "$Id: module.pmod,v 1.17 1999/10/19 22:45:33 noring Exp $";
+constant cvs_id = "$Id: module.pmod,v 1.18 2000/01/29 12:37:31 noring Exp $";
 
 #define ERR(msg) throw(({ "(Yabu) "+msg+"\n", backtrace() }))
 #define IO_ERR(msg) throw(({ sprintf("(Yabu) %s, %s (%d)\n",msg,strerror(errno()),errno()),backtrace() }))
@@ -131,33 +131,10 @@ static private class FileIO {
 
   static private int mask = 0;
 
-  static private array(int) fractionalise(int i)
-  {
-    if(!mask)
-    {
-      int size = 0;
-      for(mask = 1; mask; size++)
-	mask <<= 1;
-      mask = ~(0xff << (size-8));
-    }
-    
-    return ({ (i>>8) & mask, i & 0xff });
-  }
-  
   static private void seek(int offset)
   {
-    if(offset < 0)
-    {
-      int fraction;
-
-      [offset, fraction] = fractionalise(offset);
-      if(file::seek(offset, 0x100) == -1 ||
-	 (fraction && sizeof(file::read(fraction)) != fraction))
-	ERR("seek failed");
-    }
-    else
-      if(file::seek(offset) == -1)
-	ERR("seek failed");
+    if(offset < 0 || file::seek(offset) == -1)
+      ERR("seek failed");
   }
 
   string read_at(int offset, int|void size)