fix PIFile::readAll(force = true)
This commit is contained in:
@@ -181,7 +181,7 @@ bool PIFile::openTemporary(PIIODevice::DeviceMode mode) {
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
char template_rc[] = "/tmp/pifile_tmp_XXXXXX";
|
char template_rc[] = "/tmp/pifile_tmp_XXXXXX";
|
||||||
int fd = mkstemp(template_rc);
|
int fd = mkstemp(template_rc);
|
||||||
if (fd == -1) return false;
|
if (fd == -1) return false;
|
||||||
::close(fd);
|
::close(fd);
|
||||||
tp = template_rc;
|
tp = template_rc;
|
||||||
@@ -256,8 +256,11 @@ PIByteArray PIFile::readAll(bool forceRead) {
|
|||||||
llong cp = pos();
|
llong cp = pos();
|
||||||
if (forceRead) {
|
if (forceRead) {
|
||||||
seekToBegin();
|
seekToBegin();
|
||||||
while (!isEnd())
|
for (;;) {
|
||||||
a.push_back(readChar());
|
uchar byte = static_cast<uchar>(fgetc(PRIVATE->fd));
|
||||||
|
if (feof(PRIVATE->fd) || ferror(PRIVATE->fd)) break;
|
||||||
|
a.push_back(byte);
|
||||||
|
}
|
||||||
seek(cp);
|
seek(cp);
|
||||||
return a;
|
return a;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user