Changeset 99 for trunk/lib/range_list.c
- Timestamp:
- 03/03/08 19:38:48 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/range_list.c
r98 r99 18 18 */ 19 19 20 #include <stdio.h> 20 21 #include <math.h> 21 22 #include "../include/range_list.h" … … 26 27 /*******************/ 27 28 #define RANGE_LIST_ALLOC_SIZE 256 29 30 31 static void range_list_print(const range_list* rl) 32 { 33 uint32_t i; 34 for(i=0; i<rl->size; i++) 35 fprintf(stderr, " %d=%p,%d,%d,%p", i, (void*)rl->elements[i], 36 rl->elements[i]->offset, rl->elements[i]->length, 37 rl->elements[i]->data); 38 fprintf(stderr, "\n"); 39 } 40 28 41 29 42 /* … … 40 53 if(rl->size == rl->elem_alloced) 41 54 { 42 tmp = (range_list_element**)realloc(rl->elements, rl->elem_alloced+RANGE_LIST_ALLOC_SIZE); 55 tmp = (range_list_element**)realloc(rl->elements, 56 (rl->elem_alloced+RANGE_LIST_ALLOC_SIZE) 57 * sizeof(range_list_element*)); 43 58 if(tmp == NULL) 44 59 return false; … … 90 105 cur_elem = rl->elements[cur_idx]; 91 106 92 if((offset >= cur_elem->offset) && (offset < (cur_elem+1)->offset))107 if((offset >= cur_elem->offset) && (offset < rl->elements[cur_idx+1]->offset)) 93 108 return cur_idx; 94 109 … … 116 131 rl->elements = (range_list_element**)malloc(sizeof(range_list_element*) 117 132 * RANGE_LIST_ALLOC_SIZE); 133 118 134 if(rl->elements == NULL) 119 135 { … … 152 168 range_list_element* elem; 153 169 range_list_element* prev_elem; 154 170 /*fprintf(stderr, "DEBUG: rl->size=%d\n", rl->size);*/ 155 171 /* Sorry, limited to 2**31-1 elements. */ 156 172 if(rl->size >= 0x7FFFFFFF) … … 215 231 216 232 /* Try to keep memory usage down */ 217 if(rl->size < (rl->elem_alloced - 2 *RANGE_LIST_ALLOC_SIZE))233 if(rl->size < (rl->elem_alloced - 2 * RANGE_LIST_ALLOC_SIZE)) 218 234 { 219 235 tmp = (range_list_element**)realloc(rl->elements, 220 rl->elem_alloced - 2*RANGE_LIST_ALLOC_SIZE); 236 (rl->elem_alloced-2*RANGE_LIST_ALLOC_SIZE) 237 * sizeof(range_list_element*)); 221 238 if(tmp != NULL) 222 239 {
Note: See TracChangeset
for help on using the changeset viewer.