+wxFileOffset wxBackedInputStream::GetLength() const
+{
+ return m_backer.m_impl->GetLength();
+}
+
+wxFileOffset wxBackedInputStream::FindLength() const
+{
+ wxFileOffset len = GetLength();
+
+ if (len == wxInvalidOffset && IsOk()) {
+ // read a byte at 7ff...ffe
+ wxFileOffset pos = 1;
+ pos <<= sizeof(pos) * 8 - 1;
+ pos = ~pos - 1;
+ char ch;
+ size_t size = 1;
+ m_backer.m_impl->ReadAt(pos, &ch, &size);
+ len = GetLength();
+ }
+
+ return len;
+}
+