diff options
Diffstat (limited to 'src/filters/parser/BaseSplitter/MultiFiles.cpp')
-rw-r--r-- | src/filters/parser/BaseSplitter/MultiFiles.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/filters/parser/BaseSplitter/MultiFiles.cpp b/src/filters/parser/BaseSplitter/MultiFiles.cpp index 98b335d59..cd08aec72 100644 --- a/src/filters/parser/BaseSplitter/MultiFiles.cpp +++ b/src/filters/parser/BaseSplitter/MultiFiles.cpp @@ -93,7 +93,7 @@ ULONGLONG CMultiFiles::Seek(LONGLONG lOff, UINT nFrom) return llNewPos.QuadPart;
} else {
- LONGLONG lAbsolutePos = GetAbsolutePosition(lOff, nFrom);
+ ULONGLONG lAbsolutePos = GetAbsolutePosition(lOff, nFrom);
int nNewPart = 0;
ULONGLONG llSum = 0;
@@ -147,12 +147,12 @@ UINT CMultiFiles::Read(void* lpBuf, UINT nCount) break;
}
- if (dwRead != nCount && m_nCurPart < m_strFiles.GetCount()-1) {
+ if (dwRead != nCount && (m_nCurPart < 0 || (size_t)m_nCurPart < m_strFiles.GetCount()-1)) {
OpenPart (m_nCurPart+1);
lpBuf = (void*)((BYTE*)lpBuf + dwRead);
nCount -= dwRead;
}
- } while (nCount != dwRead && m_nCurPart < m_strFiles.GetCount()-1);
+ } while (nCount != dwRead && (m_nCurPart < 0 || (size_t)m_nCurPart < m_strFiles.GetCount()-1));
return dwRead;
}
|