VirtualBox

Changeset 269 in kBuild


Ignore:
Timestamp:
May 6, 2005 3:48:25 AM (20 years ago)
Author:
bird
Message:

whiteout.

File:
1 edited

Legend:

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

    r228 r269  
    5858#include <unistd.h>
    5959
     60#ifdef __EMX__
     61#undef S_IFWHT
     62#endif
    6063#ifndef S_IFWHT
    6164#define S_IFWHT 0
     
    143146                        vflag = 1;
    144147                        break;
     148#ifdef FTS_WHITEOUT
    145149                case 'W':
    146150                        Wflag = 1;
    147151                        break;
     152#endif
    148153                default:
    149154                        return usage();
     
    197202        if (!needstat)
    198203                flags |= FTS_NOSTAT;
     204#ifdef FTS_WHITEOUT
    199205        if (Wflag)
    200206                flags |= FTS_WHITEOUT;
     207#endif
    201208        if (!(fts = fts_open(argv, flags, NULL)))
    202209                err(1, "fts_open");
     
    278285                                break;
    279286
     287#ifdef FTS_W
    280288                        case FTS_W:
    281289                                rval = undelete(p->fts_accpath);
     
    287295                                }
    288296                                break;
     297#endif
    289298
    290299                        case FTS_NS:
     
    333342                /* Assume if can't stat the file, can't unlink it. */
    334343                if (lstat(f, &sb)) {
     344#ifdef FTS_WHITEOUT
    335345                        if (Wflag) {
    336346                                sb.st_mode = S_IFWHT|S_IWUSR|S_IRUSR;
    337347                        } else {
     348#else
     349                        {
     350#endif
    338351                                if (!fflag || errno != ENOENT) {
    339352                                        fprintf(stderr, "%s: %s: %s\n", argv0, f, strerror(errno));
     
    342355                                continue;
    343356                        }
     357#ifdef FTS_WHITEOUT
    344358                } else if (Wflag) {
    345359                        fprintf(stderr, "%s: %s: %s\n", argv0, f, strerror(EEXIST));
    346360                        eval = 1;
    347361                        continue;
     362#endif
    348363                }
    349364
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