dpv
for (dpv = NULL;;) {
if (dpv)
dpv[n] = dp;
if (dpv) {
mergesort(dpv, n, sizeof(*dpv), opendir_compar);
dpv[n] = NULL;
for (n = 0; dpv[n]; n++) {
struct dirent *dp = dpv[n];
free(dpv);
dpv = malloc((n+1) * sizeof(struct dirent *));
if (dpv == NULL)
struct dirent **dpv;
int dpv(struct dpv_config *_config, struct dpv_file_node *_file_list);
if (dpv(config, file_list) != 0 && debug)