* 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:
Corinna Vinschen
2013-10-24 17:51:41 +00:00
parent 4ae84b2251
commit 8ef76ab6f9
6 changed files with 24 additions and 46 deletions

View File

@@ -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 ()
{