9 static data_unset
*data_integer_copy(const data_unset
*s
) {
10 data_integer
*src
= (data_integer
*)s
;
11 data_integer
*ds
= data_integer_init();
13 buffer_copy_buffer(ds
->key
, src
->key
);
14 ds
->is_index_key
= src
->is_index_key
;
15 ds
->value
= src
->value
;
16 return (data_unset
*)ds
;
19 static void data_integer_free(data_unset
*d
) {
20 data_integer
*ds
= (data_integer
*)d
;
27 static void data_integer_reset(data_unset
*d
) {
28 data_integer
*ds
= (data_integer
*)d
;
30 /* reused integer elements */
31 buffer_reset(ds
->key
);
35 static int data_integer_insert_dup(data_unset
*dst
, data_unset
*src
) {
43 static void data_integer_print(const data_unset
*d
, int depth
) {
44 data_integer
*ds
= (data_integer
*)d
;
47 fprintf(stdout
, "%d", ds
->value
);
51 data_integer
*data_integer_init(void) {
54 ds
= calloc(1, sizeof(*ds
));
55 force_assert(NULL
!= ds
);
57 ds
->key
= buffer_init();
60 ds
->copy
= data_integer_copy
;
61 ds
->free
= data_integer_free
;
62 ds
->reset
= data_integer_reset
;
63 ds
->insert_dup
= data_integer_insert_dup
;
64 ds
->print
= data_integer_print
;
65 ds
->type
= TYPE_INTEGER
;