On 22 Jan 2016, at 16:46, suraev(a)alumni.ntnu.no
wrote:
@@ -74,5 +75,12 @@ int bitvec_find_bit_pos(const
struct bitvec *bv, unsigned int n, enum bit_value
int bitvec_spare_padding(struct bitvec *bv, unsigned int up_to_bit);
int bitvec_get_bytes(struct bitvec *bv, uint8_t *bytes, unsigned int count);
int bitvec_set_bytes(struct bitvec *bv, const uint8_t *bytes, unsigned int count);
+struct bitvec * bitvec_alloc(unsigned int size);
coding style to have ' * ' in the middle of nowwhere
#define BITNUM_FROM_COMP(byte, bit) ((byte*8)+bit)
+void *bv_tall_ctx;
static? how is the talloc context "rooted" so that it will show up in
the leak detection?
+struct bitvec *bitvec_alloc(unsigned size)
+{
+ struct bitvec *bv = talloc_zero(bv_tall_ctx, struct bitvec);
+ bv->data_len = size;
+ bv->cur_bit = 0;
+ bv->data = talloc_zero_array(bv_tall_ctx, uint8_t, size);
+ return bv;
bv is a talloc context itself so it should be used to create data instead
of the global one.
+unsigned int bitvec_pack(struct bitvec *bv, uint8_t
*buffer)
+{
+ unsigned int i = 0;
+ for (i = 0; i < bv->data_len; i++)
+ {
coding style for the '{' and in other methods too.