Lines Matching refs:fl
205 file_list_init(struct file_list *fl, bool tmp) in file_list_init() argument
208 if (fl) { in file_list_init()
209 memset(fl, 0, sizeof(*fl)); in file_list_init()
210 fl->tmp = tmp; in file_list_init()
218 file_list_add(struct file_list *fl, const char *fn, bool allocate) in file_list_add() argument
221 if (fl && fn) { in file_list_add()
222 if (fl->count >= fl->sz || (fl->fns == NULL)) { in file_list_add()
223 fl->sz = (fl->sz) * 2 + 1; in file_list_add()
224 fl->fns = sort_realloc(fl->fns, fl->sz * in file_list_add()
227 fl->fns[fl->count] = allocate ? sort_strdup(fn) : fn; in file_list_add()
228 fl->count += 1; in file_list_add()
236 file_list_populate(struct file_list *fl, int argc, char **argv, bool allocate) in file_list_populate() argument
239 if (fl && argv) { in file_list_populate()
243 file_list_add(fl, argv[i], allocate); in file_list_populate()
252 file_list_clean(struct file_list *fl) in file_list_clean() argument
255 if (fl) { in file_list_clean()
256 if (fl->fns) { in file_list_clean()
259 for (i = 0; i < fl->count; i++) { in file_list_clean()
260 if (fl->fns[i]) { in file_list_clean()
261 if (fl->tmp) in file_list_clean()
262 unlink(fl->fns[i]); in file_list_clean()
263 sort_free(fl->fns[i]); in file_list_clean()
264 fl->fns[i] = 0; in file_list_clean()
267 sort_free(fl->fns); in file_list_clean()
268 fl->fns = NULL; in file_list_clean()
270 fl->sz = 0; in file_list_clean()
271 fl->count = 0; in file_list_clean()
272 fl->tmp = false; in file_list_clean()
725 procfile(const char *fsrc, struct sort_list *list, struct file_list *fl) in procfile() argument
749 file_list_add(fl, fn, false); in procfile()
1040 shrink_file_list(struct file_list *fl) in shrink_file_list() argument
1043 if ((fl == NULL) || (size_t) (fl->count) < max_open_files) in shrink_file_list()
1050 while (indx < fl->count) { in shrink_file_list()
1054 num = fl->count - indx; in shrink_file_list()
1059 merge_files_array(num, fl->fns + indx, fnew); in shrink_file_list()
1060 if (fl->tmp) { in shrink_file_list()
1064 unlink(fl->fns[indx + i]); in shrink_file_list()
1069 fl->tmp = false; /* already taken care of */ in shrink_file_list()
1070 file_list_clean(fl); in shrink_file_list()
1072 fl->count = new_fl.count; in shrink_file_list()
1073 fl->fns = new_fl.fns; in shrink_file_list()
1074 fl->sz = new_fl.sz; in shrink_file_list()
1075 fl->tmp = new_fl.tmp; in shrink_file_list()
1085 merge_files(struct file_list *fl, const char *fn_out) in merge_files() argument
1088 if (fl && fn_out) { in merge_files()
1089 while (shrink_file_list(fl)); in merge_files()
1091 merge_files_array(fl->count, fl->fns, fn_out); in merge_files()