gib_list *feh_file_remove_from_list(gib_list * list, gib_list * l) { feh_file_free(FEH_FILE(l->data)); D(("filelist_len %d -> %d\n", filelist_len, filelist_len - 1)); filelist_len--; return(gib_list_remove(list, l)); }
gib_list *feh_file_info_preload(gib_list * list) { gib_list *l; feh_file *file = NULL; gib_list *remove_list = NULL; if (opt.verbose) fprintf(stdout, PACKAGE " - preloading...\n"); for (l = list; l; l = l->next) { file = FEH_FILE(l->data); D(5, ("file %p, file->next %p, file->name %s\n", l, l->next, file->name)); if (feh_file_info_load(file, NULL)) { D(3, ("Failed to load file %p\n", file)); remove_list = gib_list_add_front(remove_list, l); if (opt.verbose) feh_display_status('x'); } else if (opt.verbose) feh_display_status('.'); } if (opt.verbose) fprintf(stdout, "\n"); if (remove_list) { for (l = remove_list; l; l = l->next) filelist = list = gib_list_remove(list, (gib_list *) l->data); gib_list_free(remove_list); } return(list); }