Ignore:
Timestamp:
Sep 2, 2008, 11:50:04 PM (17 years ago)
Author:
bird
Message:

kmk: Made chmod build on windows. Some cleanup of the bsdisms.

File:
1 edited

Legend:

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

    r1705 r1710  
    5656#else
    5757# include "mscfakes.h"
    58 #endif 
     58#endif
    5959#include "getopt.h"
    6060#include "kmkbuiltin.h"
     61
     62extern void * bsd_setmode(const char *p);
     63extern mode_t bsd_getmode(const void *bbox, mode_t omode);
     64extern void bsd_strmode(mode_t mode, char *p);
    6165
    6266#if defined(__APPLE__) && !defined(_DARWIN_FEATURE_UNIX_CONFORMANCE)
     
    176180
    177181        mode = *argv;
    178         if ((set = setmode(mode)) == NULL)
     182        if ((set = bsd_setmode(mode)) == NULL)
    179183                return errx(1, "invalid file mode: %s", mode);
    180184
     
    210214                        break;
    211215                }
    212                 newmode = getmode(set, p->fts_statp->st_mode);
     216                newmode = bsd_getmode(set, p->fts_statp->st_mode);
    213217                if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS))
    214218                        continue;
     
    223227                                        char m1[12], m2[12];
    224228
    225                                         strmode(p->fts_statp->st_mode, m1);
    226                                         strmode((p->fts_statp->st_mode &
     229                                        bsd_strmode(p->fts_statp->st_mode, m1);
     230                                        bsd_strmode((p->fts_statp->st_mode &
    227231                                            S_IFMT) | newmode, m2);
    228232
Note: See TracChangeset for help on using the changeset viewer.