uint32_t hsStream::ReadLE32() { uint32_t value; Read4Bytes(&value); value = hsToLE32(value); return value; }
plChecksum::plChecksum(unsigned int bufsize, const char* buffer) { unsigned int wndsz = GetWindowSize(),i = 0; fSum = 0; const char* bufferAbsEnd = buffer + bufsize; const char* bufferEnvenEnd = buffer + bufsize - (bufsize % wndsz); while (buffer < bufferEnvenEnd) { fSum += hsToLE32(*((SumStorage*)buffer)); buffer += wndsz; } SumStorage last = 0; while (buffer < bufferAbsEnd) { ((char*)&last)[i % wndsz] = *buffer; buffer++; } fSum+= hsToLE32(last); }
void hsStream::WriteLE32(uint32_t value) { value = hsToLE32(value); this->Write(sizeof(int32_t), &value); }
void hsStream::ReadLE32(int count, uint32_t values[]) { this->Read(count * sizeof(uint32_t), values); for (int i = 0; i < count; i++) values[i] = hsToLE32(values[i]); }