Lines Matching refs:lp
248 void namelist_sort(namelist_t *lp) in namelist_sort() argument
251 if (lp->count > 1) { in namelist_sort()
252 qsort(lp->array, lp->count, sizeof(*lp->array), namelist_cmp_indirect); in namelist_sort()
254 for (count = i = 1; i < lp->count; i++) { in namelist_sort()
255 if (namelist_cmp(lp->array[count - 1], lp->array[i]) == 0) { in namelist_sort()
256 free(lp->array[i]); in namelist_sort()
258 lp->array[count++] = lp->array[i]; in namelist_sort()
261 lp->count = count; in namelist_sort()
263 lp->sorted = 1; in namelist_sort()
266 int namelist_find(namelist_t *lp, const char *name) in namelist_find() argument
270 if (!lp->sorted) { in namelist_find()
271 namelist_sort(lp); in namelist_find()
273 for (a = 0, b = lp->count; a < b;) { in namelist_find()
275 cmp = namelist_cmp(lp->array[m], name); in namelist_find()
286 void namelist_add(namelist_t *lp, const char *base, const char *name) in namelist_add() argument
293 if (lp->count == lp->size) { in namelist_add()
294 size_t newsize = lp->size + (lp->size >> 1) + 4; in namelist_add()
295 char **a = realloc(lp->array, sizeof(lp->array[0]) * newsize); in namelist_add()
298 lp->array = a; in namelist_add()
299 lp->size = newsize; in namelist_add()
301 lp->array[lp->count] = s; in namelist_add()
302 lp->count++; in namelist_add()
308 void namelist_load(namelist_t *lp, const char *filename) in namelist_load() argument
325 namelist_add(lp, base_name, p); in namelist_load()
331 void namelist_add_from_error_file(namelist_t *lp, const char *file) in namelist_add_from_error_file() argument
340 namelist_add(lp, NULL, pp); in namelist_add_from_error_file()
345 void namelist_free(namelist_t *lp) in namelist_free() argument
347 while (lp->count > 0) { in namelist_free()
348 free(lp->array[--lp->count]); in namelist_free()
350 free(lp->array); in namelist_free()
351 lp->array = NULL; in namelist_free()
352 lp->size = 0; in namelist_free()
357 namelist_t *lp = &test_list; in add_test_file() local
359 namelist_add(lp, NULL, filename); in add_test_file()
366 namelist_t *lp = &test_list; in enumerate_tests() local
367 int start = lp->count; in enumerate_tests()
369 qsort(lp->array + start, lp->count - start, sizeof(*lp->array), in enumerate_tests()
866 namelist_t *lp = &test_list; in update_exclude_dirs() local
887 for (count = i = 0; i < lp->count; i++) { in update_exclude_dirs()
888 name = lp->array[i]; in update_exclude_dirs()
898 lp->array[count++] = name; in update_exclude_dirs()
901 lp->count = count; in update_exclude_dirs()
1865 void run_test_dir_list(namelist_t *lp, int start_index, int stop_index) in run_test_dir_list() argument
1869 namelist_sort(lp); in run_test_dir_list()
1870 for (i = 0; i < lp->count; i++) { in run_test_dir_list()
1871 const char *p = lp->array[i]; in run_test_dir_list()