blob: 7e27a15a8905ad4d1b02f0e518e08be6195338fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
typedef struct {
unsigned *bits;
unsigned size;
} bits_list_type;
#define BYTEWIDTH 8
#define NULL 0
#define BITS_BLOCK_SIZE (sizeof (unsigned) * BYTEWIDTH)
#define BITS_BLOCK(position) ((position) / BITS_BLOCK_SIZE)
#define BITS_MASK(position) (1 << ((position) % BITS_BLOCK_SIZE))
static unsigned
init_bits_list (bits_list_ptr)
bits_list_type *bits_list_ptr;
{
bits_list_ptr->bits = NULL;
bits_list_ptr->bits = (unsigned *) malloc (sizeof (unsigned));
if (bits_list_ptr->bits == NULL)
return 0;
bits_list_ptr->bits[0] = (unsigned)0;
bits_list_ptr->size = BITS_BLOCK_SIZE;
return 1;
}
main()
{
bits_list_type dummy;
bits_list_type dummy_1;
bits_list_type dummy_2;
bits_list_type dummy_3;
init_bits_list (&dummy);
printf("init 1\n");
init_bits_list (&dummy_1);
printf("init 2\n");
init_bits_list (&dummy_2);
printf("init 3\n");
init_bits_list (&dummy_3);
printf("init 4\n");
}
|