* fhandler.h (fhandler_dev_zero::lseek): Convert to inline method.
(class fhandler_dev_random): Drop dummy_offset. (fhandler_dev_random::lseek): Convert to inline method. (fhandler_dev_dsp::lseek): Ditto. * fhandler_dsp.cc (fhandler_dev_dsp::lseek): Drop here. * fhandler_random.cc (fhandler_dev_random::open): Drop setting dummy_offset. (fhandler_dev_random::lseek): Drop here. * fhandler_tape.cc (fhandler_dev_tape::lseek): Make no-op, but keep old code for reference. * fhandler_zero.cc (fhandler_dev_zero::lseek): Drop here.
This commit is contained in:
@@ -34,7 +34,6 @@ fhandler_dev_random::open (int flags, mode_t)
|
||||
set_flags ((flags & ~O_TEXT) | O_BINARY);
|
||||
nohandle (true);
|
||||
set_open_status ();
|
||||
dummy_offset = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -151,34 +150,6 @@ fhandler_dev_random::read (void *ptr, size_t& len)
|
||||
len = pseudo_read (ptr, len);
|
||||
}
|
||||
|
||||
off_t
|
||||
fhandler_dev_random::lseek (off_t off, int whence)
|
||||
{
|
||||
/* As on Linux, fake being able to set an offset. The fact that neither
|
||||
reading nor writing changes the dummy offset is also the same as on
|
||||
Linux (tested with kernel 2.6.23). */
|
||||
off_t new_off;
|
||||
|
||||
switch (whence)
|
||||
{
|
||||
case SEEK_SET:
|
||||
new_off = off;
|
||||
break;
|
||||
case SEEK_CUR:
|
||||
new_off = dummy_offset + off;
|
||||
break;
|
||||
default:
|
||||
set_errno (EINVAL);
|
||||
return (off_t) -1;
|
||||
}
|
||||
if (new_off < 0)
|
||||
{
|
||||
set_errno (EINVAL);
|
||||
return (off_t) -1;
|
||||
}
|
||||
return dummy_offset = new_off;
|
||||
}
|
||||
|
||||
int
|
||||
fhandler_dev_random::close ()
|
||||
{
|
||||
|
Reference in New Issue
Block a user