-#if SUPPORT_LINKS
- ret = do_lstat(fname, &st);
-#else
- ret = do_stat(fname, &st);
-#endif
- if (ret) {
+ if (!(flags & DEL_DIR)) {
+ if (robust_unlink(fname) == 0) {
+ if (verbose && !(flags & DEL_TERSE)) {
+ rprintf(FINFO, "deleting %s\n",
+ safe_fname(fname));
+ }
+ return 0;
+ }
+ if (errno == ENOENT)
+ return 0;
+ rsyserr(FERROR, errno, "delete_file: unlink %s failed",
+ full_fname(fname));