• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/bootp-298/bootplib/

Lines Matching refs:list

36 ptrlist_print(ptrlist_t * list)
38 printf("ptrlist count %d, size %d\n", list->count, list->size);
39 if (list->count > 0) {
41 for (i = 0; i < list->count; i++)
42 printf("%d. %p\n", i, list->array[i]);
50 ptrlist_init(ptrlist_t * list)
52 bzero(list, sizeof(*list));
57 ptrlist_init_size(ptrlist_t * list, int size)
59 bzero(list, sizeof(*list));
61 list->size = size;
62 list->array = malloc(sizeof(*list->array) * list->size);
63 if (list->array == NULL) {
64 list->size = 0;
71 ptrlist_free(ptrlist_t * list)
73 if (list->array)
74 free(list->array);
75 ptrlist_init(list);
80 ptrlist_index(ptrlist_t * list, void * element)
83 for (i = 0; i < ptrlist_count(list); i++) {
84 if (ptrlist_element(list, i) == element)
91 ptrlist_count(ptrlist_t * list)
93 if (list == NULL || list->array == NULL)
96 return (list->count);
100 ptrlist_element(ptrlist_t * list, int i)
102 if (list->array == NULL)
104 if (i < list->count)
105 return (list->array[i]);
110 ptrlist_remove(ptrlist_t * list, int i, void * * ret)
114 if (list->array == NULL || i >= list->count || i < 0)
117 *ret = list->array[i];
118 nmove = (list->count - 1) - i;
120 bcopy(list->array + (i + 1),
121 list->array + i,
122 nmove * sizeof(*list->array));
124 list->count--;
129 ptrlist_grow(ptrlist_t * list)
131 if (list->array == NULL) {
132 if (list->size == 0)
133 list->size = PTRLIST_NUMBER;
134 list->count = 0;
135 list->array = malloc(sizeof(*list->array) * list->size);
137 else if (list->size == list->count) {
139 printf("doubling %d to %d\n", list->size, list->size * 2);
141 list->size *= 2;
142 list->array = realloc(list->array,
143 sizeof(*list->array) * list->size);
145 if (list->array == NULL)
151 ptrlist_add(ptrlist_t * list, void * element)
153 if (ptrlist_grow(list) == FALSE)
156 list->array[list->count++] = element;
161 ptrlist_insert(ptrlist_t * list, void * element, int where)
166 if (where >= list->count)
167 return (ptrlist_add(list, element));
169 if (ptrlist_grow(list) == FALSE)
173 bcopy(list->array + where,
174 list->array + where + 1,
175 (list->count - where) * sizeof(*list->array));
176 list->array[where] = element;
177 list->count++;
196 /* concatenates extra onto list */
198 ptrlist_concat(ptrlist_t * list, ptrlist_t * extra)
203 if ((extra->count + list->count) > list->size) {
204 list->size = extra->count + list->count;
205 if (list->array == NULL)
206 list->array = malloc(sizeof(*list->array) * list->size);
208 list->array = realloc(list->array,
209 sizeof(*list->array) * list->size);
211 if (list->array == NULL)
213 bcopy(extra->array, list->array + list->count,
214 extra->count * sizeof(*list->array));
215 list->count += extra->count;