QIODevice::atEnd(): fix debug message output
For sequential devices, duplicated bytesAvailable() calls can produce different results. To avoid a wrong output, print exactly the same value as would be returned. Change-Id: I02615dd7375516f7b263eea56bfcf15e2889e6e3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>bb10
parent
895dbac454
commit
a851868e63
|
|
@ -693,12 +693,13 @@ bool QIODevice::seek(qint64 pos)
|
|||
bool QIODevice::atEnd() const
|
||||
{
|
||||
Q_D(const QIODevice);
|
||||
const bool result = (d->openMode == NotOpen || (d->buffer.isEmpty()
|
||||
&& bytesAvailable() == 0));
|
||||
#if defined QIODEVICE_DEBUG
|
||||
printf("%p QIODevice::atEnd() returns %s, d->openMode == %d, d->pos == %lld\n", this,
|
||||
(d->openMode == NotOpen || d->pos == size()) ? "true" : "false", int(d->openMode),
|
||||
d->pos);
|
||||
result ? "true" : "false", int(d->openMode), d->pos);
|
||||
#endif
|
||||
return d->openMode == NotOpen || (d->buffer.isEmpty() && bytesAvailable() == 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
/*!
|
||||
|
|
|
|||
Loading…
Reference in New Issue