VirtualBox

Changeset 3350 in kBuild for trunk/src


Ignore:
Timestamp:
May 23, 2020 5:05:29 PM (5 years ago)
Author:
bird
Message:

kmk_rm: Fast-delete doesn't work for symlinked directories on windows. Regular deletion works.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/kmkbuiltin/rm.c

    r3247 r3350  
    477477#ifdef KBUILD_OS_WINDOWS
    478478                                if (p->fts_parent->fts_dirfd != NT_FTS_INVALID_HANDLE_VALUE) {
    479                                     rval = birdUnlinkForcedFastEx(p->fts_parent->fts_dirfd, p->fts_name);
     479                                        if (p->fts_info != FTS_SL && p->fts_info != FTS_SLNONE) {
     480                                                rval = birdUnlinkForcedFastEx(p->fts_parent->fts_dirfd, p->fts_name);
     481                                        } else { /* NtDeleteFile doesn't work on directory links, so slow symlink deletion: */
     482                                                rval = birdUnlinkForcedEx(p->fts_parent->fts_dirfd, p->fts_name);
     483                                        }
    480484                                } else {
    481                                     rval = birdUnlinkForcedFast(p->fts_accpath);
     485                                        if (p->fts_info != FTS_SL && p->fts_info != FTS_SLNONE) {
     486                                                rval = birdUnlinkForcedFast(p->fts_accpath);
     487                                        } else { /* NtDeleteFile doesn't work on directory links, so slow symlink deletion: */
     488                                                rval = birdUnlinkForced(p->fts_accpath);
     489                                        }
    482490                                }
    483491#else
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette