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)