fixes QFile test failures on FreeBSD
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
if (mode & Append) {
seek(size());
} else {
- qint64 pos = (qint64)QT_FTELL(fh);
- if (pos != -1)
+ const qint64 pos = (qint64)QT_FTELL(fh);
+ if (pos != -1 && !isSequential()) {
seek(pos);
+ } else if (pos != -1) {
+ d->pos = pos;
+ d->devicePos = pos;
+ }
}
return true;
}
seek(size());
} else {
const qint64 pos = (qint64)QT_LSEEK(fd, 0, SEEK_CUR);
- if (pos != -1)
+ if (pos != -1 && !isSequential()) {
seek(pos);
+ } else if (pos != -1) {
+ d->pos = pos;
+ d->devicePos = pos;
+ }
}
return true;
}