diff options
Diffstat (limited to 'libqpdf/BitWriter.cc')
-rw-r--r-- | libqpdf/BitWriter.cc | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libqpdf/BitWriter.cc b/libqpdf/BitWriter.cc index 7513ac76..efe19ded 100644 --- a/libqpdf/BitWriter.cc +++ b/libqpdf/BitWriter.cc @@ -12,18 +12,18 @@ BitWriter::BitWriter(Pipeline* pl) : } void -BitWriter::writeBits(unsigned long long val, unsigned int bits) +BitWriter::writeBits(unsigned long long val, size_t bits) { write_bits(this->ch, this->bit_offset, val, bits, this->pl); } void -BitWriter::writeBitsSigned(long long val, unsigned int bits) +BitWriter::writeBitsSigned(long long val, size_t bits) { unsigned long long uval = 0; if (val < 0) { - uval = static_cast<unsigned long long>((1 << bits) + val); + uval = (1ULL << bits) + static_cast<unsigned long long>(val); } else { @@ -33,11 +33,17 @@ BitWriter::writeBitsSigned(long long val, unsigned int bits) } void +BitWriter::writeBitsInt(int val, size_t bits) +{ + writeBits(static_cast<unsigned long long>(val), bits); +} + +void BitWriter::flush() { if (bit_offset < 7) { - int bits_to_write = bit_offset + 1; + size_t bits_to_write = bit_offset + 1; write_bits(this->ch, this->bit_offset, 0, bits_to_write, this->pl); } } |