diff --git a/src/Kyoto/Streams/CInputStream.cpp b/src/Kyoto/Streams/CInputStream.cpp index 14e87ea8..42aeddeb 100644 --- a/src/Kyoto/Streams/CInputStream.cpp +++ b/src/Kyoto/Streams/CInputStream.cpp @@ -2,6 +2,7 @@ #include "string.h" +#include "Kyoto/Streams/StreamSupport.hpp" #include "Kyoto/Alloc/CMemory.hpp" CInputStream::CInputStream(int len) @@ -97,8 +98,6 @@ uint CInputStream::ReadBytes(void* dest, unsigned long len) { return curReadLen; } -static inline uint BitsToBytes(uint bits) { return (bits / 8) + ((bits % 8) ? 1 : 0); } - uint CInputStream::ReadBits(uint bitCount) { if (x20_bitOffset >= bitCount) { uint mask = 0xffffffff; @@ -125,7 +124,7 @@ uint CInputStream::ReadBits(uint bitCount) { ret = (mask & (x1c_bitWord >> bwShift)) << shiftAmt; } - uint len = BitsToBytes(shiftAmt); + uint len = min_containing_bytes(shiftAmt); x20_bitOffset = 0; Get(&x1c_bitWord, len); diff --git a/src/Kyoto/Streams/COutputStream.cpp b/src/Kyoto/Streams/COutputStream.cpp index af06e9cf..fac2f0e3 100644 --- a/src/Kyoto/Streams/COutputStream.cpp +++ b/src/Kyoto/Streams/COutputStream.cpp @@ -1,5 +1,7 @@ #include "Kyoto/Streams/COutputStream.hpp" +#include "Kyoto/Streams/StreamSupport.hpp" + #include "Kyoto/Alloc/CMemory.hpp" #include @@ -57,14 +59,9 @@ void COutputStream::DoFlush() { } } -static inline u32 min_containing_bytes(u32 v) { - v = 32 - v; - return (v / 8) + ((v % 8) != 0); -} - void COutputStream::FlushShiftRegister() { if (mShiftRegisterOffset < 32) { - DoPut((void*)&mShiftRegister, min_containing_bytes(mShiftRegisterOffset)); + DoPut((void*)&mShiftRegister, min_containing_bytes(32 - mShiftRegisterOffset)); mShiftRegister = 0; mShiftRegisterOffset = 32; }