mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-23 18:32:49 +00:00
kimgio: warn if seeking fails in RAWDataStream::seek()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
a2ae8fe7f4
commit
37217b7fe7
1 changed files with 14 additions and 5 deletions
|
@ -73,22 +73,31 @@ int RAWDataStream::read(void* rawptr, size_t rawsize, size_t rawnmemb)
|
|||
|
||||
int RAWDataStream::seek(INT64 rawoffset, int rawwhence)
|
||||
{
|
||||
bool result = false;
|
||||
switch (rawwhence) {
|
||||
case SEEK_SET: {
|
||||
return m_device->seek(rawoffset);
|
||||
result = m_device->seek(rawoffset);
|
||||
break;
|
||||
}
|
||||
case SEEK_CUR: {
|
||||
return m_device->seek(m_device->pos() + rawoffset);
|
||||
result = m_device->seek(m_device->pos() + rawoffset);
|
||||
break;
|
||||
}
|
||||
case SEEK_END: {
|
||||
return m_device->seek(m_device->size() + rawoffset);
|
||||
result = m_device->seek(m_device->size() + rawoffset);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
kWarning() << "Invalid whence value" << rawwhence;
|
||||
return 0;
|
||||
result = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
Q_UNREACHABLE();
|
||||
if (Q_UNLIKELY(!result)) {
|
||||
kWarning() << "Could not seek" << rawoffset << rawwhence;
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT64 RAWDataStream::tell()
|
||||
|
|
Loading…
Add table
Reference in a new issue