+ dlen = strlcpy(fbuf, fname, MAXPATHLEN);
+ if (dlen >= MAXPATHLEN - 1)
+ return;
+ if (fa_lvl >= MAXPATHLEN/2)
+ return; /* impossible... */
+
+ if (link_stat(fname, &st, keep_dirlinks) < 0)
+ return;
+
+ if (one_file_system)
+ filesystem_dev = st.st_dev;
+
+ dir_list = flist_new(WITHOUT_HLINK, "delete_in_dir");
+
+ recurse = 0;
+ filt_array[fa_lvl++] = push_local_filters(fbuf, dlen);
+ send_directory(-1, dir_list, fbuf, dlen);
+ recurse = -1;
+
+ if (dlen == 1 && *fbuf == '.')
+ *fbuf = '\0';
+
+ clean_flist(dir_list, 0, 0);
+
+ if (verbose > 3)
+ output_flist(dir_list, "delete");
+
+ delete_missing(flist, dir_list, fname);
+
+ flist_free(dir_list);
+}
+