- if (S_ISDIR(fp->mode)) {
- /* Save stack by recursing to ourself directly. */
- result = delete_dir_contents(fname, flags);
- if (result == DR_PINNED)
- ret = result;
- else if (result != DR_SUCCESS && ret == DR_SUCCESS)
- ret = DR_NOT_EMPTY;
- }
- result = delete_item(fname, fp->mode, NULL, flags);
- if (result == DR_PINNED)
- ret = result;
- else if (result != DR_SUCCESS && ret == DR_SUCCESS)
+ /* Save stack by recursing to ourself directly. */
+ if (S_ISDIR(fp->mode)
+ && delete_dir_contents(fname, flags | DEL_RECURSE) != DR_SUCCESS)
+ ret = DR_NOT_EMPTY;
+ if (delete_item(fname, fp->mode, NULL, flags) != DR_SUCCESS)