]> granicus.if.org Git - transmission/commitdiff
Loosen bitfield assertions to account for unknown bit counts
authorMike Gelfand <mikedld@mikedld.com>
Thu, 31 Dec 2015 05:22:42 +0000 (05:22 +0000)
committerMike Gelfand <mikedld@mikedld.com>
Thu, 31 Dec 2015 05:22:42 +0000 (05:22 +0000)
libtransmission/bitfield.c

index d9cadbdc56ca9b2d63a0c9edae0f2ca146ec319c..4abfb1e1398643809ca7eb1f59a4f9e7e3a80adc 100644 (file)
@@ -254,7 +254,7 @@ tr_bitfieldFreeArray (tr_bitfield * b)
 static void
 tr_bitfieldSetTrueCount (tr_bitfield * b, size_t n)
 {
-  assert (n <= b->bit_count);
+  assert (b->bit_count == 0 || n <= b->bit_count);
 
   b->true_count = n;
 
@@ -273,8 +273,8 @@ tr_bitfieldRebuildTrueCount (tr_bitfield * b)
 static void
 tr_bitfieldIncTrueCount (tr_bitfield * b, size_t i)
 {
-  assert (i <= b->bit_count);
-  assert (b->true_count <= b->bit_count - i);
+  assert (b->bit_count == 0 || i <= b->bit_count);
+  assert (b->bit_count == 0 || b->true_count <= b->bit_count - i);
 
   tr_bitfieldSetTrueCount (b, b->true_count + i);
 }
@@ -282,8 +282,8 @@ tr_bitfieldIncTrueCount (tr_bitfield * b, size_t i)
 static void
 tr_bitfieldDecTrueCount (tr_bitfield * b, size_t i)
 {
-  assert (i <= b->bit_count);
-  assert (b->true_count >= i);
+  assert (b->bit_count == 0 || i <= b->bit_count);
+  assert (b->bit_count == 0 || b->true_count >= i);
 
   tr_bitfieldSetTrueCount (b, b->true_count - i);
 }