Changeset 2995 for trunk/src


Ignore:
Timestamp:
Nov 2, 2016, 12:27:34 AM (9 years ago)
Author:
bird
Message:

rm.c: Use fts_dirfd on windows.

File:
1 edited

Legend:

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

    r2912 r2995  
    389389                        case FTS_DP:
    390390                        case FTS_DNR:
     391#ifdef KBUILD_OS_WINDOWS
     392                                if (p->fts_parent->fts_dirfd != NT_FTS_INVALID_HANDLE_VALUE) {
     393                                    rval = birdUnlinkForcedEx(p->fts_parent->fts_dirfd, p->fts_name);
     394                                } else {
     395                                    rval = birdUnlinkForced(p->fts_accpath);
     396                                }
     397#else
    391398                                rval = rmdir(p->fts_accpath);
     399#endif
    392400                                if (rval == 0 || (fflag && errno == ENOENT)) {
    393401                                        if (rval == 0 && vflag)
     
    431439                                                continue;
    432440#ifdef KBUILD_OS_WINDOWS
    433                                 rval = birdUnlinkForcedFast(p->fts_accpath);
     441                                if (p->fts_parent->fts_dirfd != NT_FTS_INVALID_HANDLE_VALUE) {
     442                                    rval = birdUnlinkForcedFastEx(p->fts_parent->fts_dirfd, p->fts_name);
     443                                } else {
     444                                    rval = birdUnlinkForcedFast(p->fts_accpath);
     445                                }
    434446#else
    435447                                rval = unlink(p->fts_accpath);
Note: See TracChangeset for help on using the changeset viewer.