aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/BitWriter.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libqpdf/BitWriter.cc')
-rw-r--r--libqpdf/BitWriter.cc14
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);
}
}