Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: third_party/lzma/v4_65/files/CS/7zip/Common/InBuffer.cs

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // InBuffer.cs
2
3 namespace SevenZip.Buffer
4 {
5 public class InBuffer
6 {
7 byte[] m_Buffer;
8 uint m_Pos;
9 uint m_Limit;
10 uint m_BufferSize;
11 System.IO.Stream m_Stream;
12 bool m_StreamWasExhausted;
13 ulong m_ProcessedSize;
14
15 public InBuffer(uint bufferSize)
16 {
17 m_Buffer = new byte[bufferSize];
18 m_BufferSize = bufferSize;
19 }
20
21 public void Init(System.IO.Stream stream)
22 {
23 m_Stream = stream;
24 m_ProcessedSize = 0;
25 m_Limit = 0;
26 m_Pos = 0;
27 m_StreamWasExhausted = false;
28 }
29
30 public bool ReadBlock()
31 {
32 if (m_StreamWasExhausted)
33 return false;
34 m_ProcessedSize += m_Pos;
35 int aNumProcessedBytes = m_Stream.Read(m_Buffer, 0, (int )m_BufferSize);
36 m_Pos = 0;
37 m_Limit = (uint)aNumProcessedBytes;
38 m_StreamWasExhausted = (aNumProcessedBytes == 0);
39 return (!m_StreamWasExhausted);
40 }
41
42
43 public void ReleaseStream()
44 {
45 // m_Stream.Close();
46 m_Stream = null;
47 }
48
49 public bool ReadByte(byte b) // check it
50 {
51 if (m_Pos >= m_Limit)
52 if (!ReadBlock())
53 return false;
54 b = m_Buffer[m_Pos++];
55 return true;
56 }
57
58 public byte ReadByte()
59 {
60 // return (byte)m_Stream.ReadByte();
61 if (m_Pos >= m_Limit)
62 if (!ReadBlock())
63 return 0xFF;
64 return m_Buffer[m_Pos++];
65 }
66
67 public ulong GetProcessedSize()
68 {
69 return m_ProcessedSize + m_Pos;
70 }
71 }
72 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698