- int f = openFile(m_nrfiles);
- if (f < 0)
- break;
- if (!m_nrfiles)
- m_splitsize = ::lseek(f, 0, SEEK_END);
- m_totallength += ::lseek(f, 0, SEEK_END);
- ::close(f);
+ if (!m_cached)
+ {
+ int f = openFileUncached(m_nrfiles);
+ if (f < 0)
+ break;
+ if (!m_nrfiles)
+ m_splitsize = ::lseek(f, 0, SEEK_END);
+ m_totallength += ::lseek(f, 0, SEEK_END);
+ ::close(f);
+ } else
+ {
+ FILE *f = openFileCached(m_nrfiles);
+ if (!f)
+ break;
+ ::fseeko(f, 0, SEEK_END);
+ if (!m_nrfiles)
+ m_splitsize = ::ftello(f);
+ m_totallength += ::ftello(f);
+ ::fclose(f);
+ }