Lines Matching refs:fl
180 file_list_init(struct file_list *fl, bool tmp) in file_list_init() argument
182 fl->count = 0; in file_list_init()
183 fl->sz = 0; in file_list_init()
184 fl->fns = NULL; in file_list_init()
185 fl->tmp = tmp; in file_list_init()
192 file_list_add(struct file_list *fl, char *fn, bool allocate) in file_list_add() argument
194 if (fl->count >= fl->sz) { in file_list_add()
195 fl->fns = sort_reallocarray(fl->fns, in file_list_add()
196 fl->sz ? fl->sz : (fl->sz = 1), 2 * sizeof(char *)); in file_list_add()
197 fl->sz *= 2; in file_list_add()
199 fl->fns[fl->count] = allocate ? sort_strdup(fn) : fn; in file_list_add()
200 fl->count += 1; in file_list_add()
207 file_list_populate(struct file_list *fl, int argc, char **argv, bool allocate) in file_list_populate() argument
212 file_list_add(fl, argv[i], allocate); in file_list_populate()
220 file_list_clean(struct file_list *fl) in file_list_clean() argument
222 if (fl->fns) { in file_list_clean()
225 for (i = 0; i < fl->count; i++) { in file_list_clean()
226 if (fl->fns[i]) { in file_list_clean()
227 if (fl->tmp) in file_list_clean()
228 unlink(fl->fns[i]); in file_list_clean()
229 sort_free(fl->fns[i]); in file_list_clean()
230 fl->fns[i] = NULL; in file_list_clean()
233 sort_free(fl->fns); in file_list_clean()
234 fl->fns = NULL; in file_list_clean()
236 fl->sz = 0; in file_list_clean()
237 fl->count = 0; in file_list_clean()
238 fl->tmp = false; in file_list_clean()
713 procfile(const char *fsrc, struct sort_list *list, struct file_list *fl) in procfile() argument
737 file_list_add(fl, fn, false); in procfile()
1008 shrink_file_list(struct file_list *fl) in shrink_file_list() argument
1013 if (fl->count < max_open_files) in shrink_file_list()
1017 while (indx < fl->count) { in shrink_file_list()
1021 num = fl->count - indx; in shrink_file_list()
1026 merge_files_array(num, fl->fns + indx, fnew); in shrink_file_list()
1027 if (fl->tmp) { in shrink_file_list()
1031 unlink(fl->fns[indx + i]); in shrink_file_list()
1036 fl->tmp = false; /* already taken care of */ in shrink_file_list()
1037 file_list_clean(fl); in shrink_file_list()
1039 fl->count = new_fl.count; in shrink_file_list()
1040 fl->fns = new_fl.fns; in shrink_file_list()
1041 fl->sz = new_fl.sz; in shrink_file_list()
1042 fl->tmp = new_fl.tmp; in shrink_file_list()
1051 merge_files(struct file_list *fl, const char *fn_out) in merge_files() argument
1053 while (shrink_file_list(fl)) in merge_files()
1056 merge_files_array(fl->count, fl->fns, fn_out); in merge_files()