* 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:
parent
4ae84b2251
commit
8ef76ab6f9
|
@ -1,3 +1,17 @@
|
|||
2013-10-24 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* 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.
|
||||
|
||||
2013-10-24 Christopher Faylor <me.cygwin2013@cgf.cx>
|
||||
|
||||
* external.cc (fillout_pinfo): If start_time is 0, wait a while before
|
||||
|
|
|
@ -1621,7 +1621,7 @@ class fhandler_dev_zero: public fhandler_base
|
|||
fhandler_dev_zero ();
|
||||
ssize_t __stdcall write (const void *ptr, size_t len);
|
||||
void __reg3 read (void *ptr, size_t& len);
|
||||
off_t lseek (off_t offset, int whence);
|
||||
off_t lseek (off_t, int) { return 0; }
|
||||
|
||||
virtual HANDLE mmap (caddr_t *addr, size_t len, int prot,
|
||||
int flags, off_t off);
|
||||
|
@ -1653,7 +1653,6 @@ class fhandler_dev_random: public fhandler_base
|
|||
{
|
||||
protected:
|
||||
uint32_t pseudo;
|
||||
off_t dummy_offset;
|
||||
|
||||
bool crypt_gen_random (void *ptr, size_t len);
|
||||
int pseudo_write (const void *ptr, size_t len);
|
||||
|
@ -1663,7 +1662,7 @@ class fhandler_dev_random: public fhandler_base
|
|||
int open (int flags, mode_t mode = 0);
|
||||
ssize_t __stdcall write (const void *ptr, size_t len);
|
||||
void __reg3 read (void *ptr, size_t& len);
|
||||
off_t lseek (off_t offset, int whence);
|
||||
off_t lseek (off_t, int) { return 0; }
|
||||
int close ();
|
||||
|
||||
fhandler_dev_random () : fhandler_base () {}
|
||||
|
@ -1780,7 +1779,7 @@ class fhandler_dev_dsp: public fhandler_base
|
|||
ssize_t __stdcall write (const void *ptr, size_t len);
|
||||
void __reg3 read (void *ptr, size_t& len);
|
||||
int ioctl (unsigned int cmd, void *);
|
||||
off_t lseek (off_t, int);
|
||||
off_t lseek (off_t, int) { return 0; }
|
||||
int close ();
|
||||
void fixup_after_fork (HANDLE parent);
|
||||
void fixup_after_exec ();
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* fhandler_dev_dsp: code to emulate OSS sound model /dev/dsp
|
||||
|
||||
Copyright 2001, 2002, 2003, 2004, 2008, 2011, 2012 Red Hat, Inc
|
||||
Copyright 2001, 2002, 2003, 2004, 2008, 2011, 2012, 2013 Red Hat, Inc
|
||||
|
||||
Written by Andy Younger (andy@snoogie.demon.co.uk)
|
||||
Extended by Gerd Spalink (Gerd.Spalink@t-online.de)
|
||||
|
@ -1131,12 +1131,6 @@ fhandler_dev_dsp::read (void *ptr, size_t& len)
|
|||
audio_in_->read ((char *)ptr, (int&)len);
|
||||
}
|
||||
|
||||
off_t
|
||||
fhandler_dev_dsp::lseek (off_t offset, int whence)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
fhandler_dev_dsp::close_audio_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 ()
|
||||
{
|
||||
|
|
|
@ -1368,6 +1368,11 @@ fhandler_dev_tape::raw_write (const void *ptr, size_t len)
|
|||
off_t
|
||||
fhandler_dev_tape::lseek (off_t offset, int whence)
|
||||
{
|
||||
#if 1
|
||||
/* On Linux lseek on tapes is a no-op. For now, let's keep the old code
|
||||
intact but commented out, should incompatibilities arise. */
|
||||
return 0;
|
||||
#else
|
||||
struct mtop op;
|
||||
struct mtpos pos;
|
||||
DWORD block_size;
|
||||
|
@ -1426,6 +1431,7 @@ fhandler_dev_tape::lseek (off_t offset, int whence)
|
|||
|
||||
out:
|
||||
return unlock (ret);
|
||||
#endif
|
||||
}
|
||||
|
||||
int __reg2
|
||||
|
|
|
@ -37,9 +37,3 @@ fhandler_dev_zero::read (void *ptr, size_t& len)
|
|||
{
|
||||
memset (ptr, 0, len);
|
||||
}
|
||||
|
||||
off_t
|
||||
fhandler_dev_zero::lseek (off_t, int)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue