5 #include "../../Common/MyCom.h"
6 #include "StreamUtils.h"
8 HRESULT
ReadStream(ISequentialInStream
*stream
, void *data
, UInt32 size
, UInt32
*processedSize
)
10 if (processedSize
!= 0)
14 UInt32 processedSizeLoc
;
15 HRESULT res
= stream
->Read(data
, size
, &processedSizeLoc
);
16 if (processedSize
!= 0)
17 *processedSize
+= processedSizeLoc
;
18 data
= (Byte
*)((Byte
*)data
+ processedSizeLoc
);
19 size
-= processedSizeLoc
;
21 if (processedSizeLoc
== 0)
27 HRESULT
WriteStream(ISequentialOutStream
*stream
, const void *data
, UInt32 size
, UInt32
*processedSize
)
29 if (processedSize
!= 0)
33 UInt32 processedSizeLoc
;
34 HRESULT res
= stream
->Write(data
, size
, &processedSizeLoc
);
35 if (processedSize
!= 0)
36 *processedSize
+= processedSizeLoc
;
37 data
= (const void *)((const Byte
*)data
+ processedSizeLoc
);
38 size
-= processedSizeLoc
;
40 if (processedSizeLoc
== 0)