Lines Matching refs:fl
215 file_list_init(struct file_list *fl, bool tmp) in file_list_init() argument
218 if (fl) { in file_list_init()
219 fl->count = 0; in file_list_init()
220 fl->sz = 0; in file_list_init()
221 fl->fns = NULL; in file_list_init()
222 fl->tmp = tmp; in file_list_init()
230 file_list_add(struct file_list *fl, const char *fn, bool allocate) in file_list_add() argument
233 if (fl && fn) { in file_list_add()
234 if (fl->count >= fl->sz || (fl->fns == NULL)) { in file_list_add()
235 fl->sz = (fl->sz) * 2 + 1; in file_list_add()
236 fl->fns = sort_realloc(fl->fns, fl->sz * in file_list_add()
239 fl->fns[fl->count] = allocate ? sort_strdup(fn) : fn; in file_list_add()
240 fl->count += 1; in file_list_add()
248 file_list_populate(struct file_list *fl, int argc, char **argv, bool allocate) in file_list_populate() argument
251 if (fl && argv) { in file_list_populate()
255 file_list_add(fl, argv[i], allocate); in file_list_populate()
264 file_list_clean(struct file_list *fl) in file_list_clean() argument
267 if (fl) { in file_list_clean()
268 if (fl->fns) { in file_list_clean()
271 for (i = 0; i < fl->count; i++) { in file_list_clean()
272 if (fl->fns[i]) { in file_list_clean()
273 if (fl->tmp) in file_list_clean()
274 unlink(fl->fns[i]); in file_list_clean()
275 sort_free(fl->fns[i]); in file_list_clean()
276 fl->fns[i] = 0; in file_list_clean()
279 sort_free(fl->fns); in file_list_clean()
280 fl->fns = NULL; in file_list_clean()
282 fl->sz = 0; in file_list_clean()
283 fl->count = 0; in file_list_clean()
284 fl->tmp = false; in file_list_clean()
834 procfile(const char *fsrc, struct sort_list *list, struct file_list *fl) in procfile() argument
858 file_list_add(fl, fn, false); in procfile()
1151 shrink_file_list(struct file_list *fl) in shrink_file_list() argument
1154 if ((fl == NULL) || (size_t) (fl->count) < max_open_files) in shrink_file_list()
1161 while (indx < fl->count) { in shrink_file_list()
1165 num = fl->count - indx; in shrink_file_list()
1170 merge_files_array(num, fl->fns + indx, fnew); in shrink_file_list()
1171 if (fl->tmp) { in shrink_file_list()
1175 unlink(fl->fns[indx + i]); in shrink_file_list()
1180 fl->tmp = false; /* already taken care of */ in shrink_file_list()
1181 file_list_clean(fl); in shrink_file_list()
1183 fl->count = new_fl.count; in shrink_file_list()
1184 fl->fns = new_fl.fns; in shrink_file_list()
1185 fl->sz = new_fl.sz; in shrink_file_list()
1186 fl->tmp = new_fl.tmp; in shrink_file_list()
1196 merge_files(struct file_list *fl, const char *fn_out) in merge_files() argument
1199 if (fl && fn_out) { in merge_files()
1200 while (shrink_file_list(fl)); in merge_files()
1202 merge_files_array(fl->count, fl->fns, fn_out); in merge_files()