--- bin/chflags/chflags.c.orig +++ bin/chflags/chflags.c @@ -65,7 +65,7 @@ int Hflag, Lflag, Rflag, fflag, hflag, vflag; int ch, fts_options, oct, rval; char *flags, *ep; - int (*change_flags)(const char *, unsigned long); + int (*change_flags)(const char *, int); Hflag = Lflag = Rflag = fflag = hflag = vflag = 0; while ((ch = getopt(argc, argv, "HLPRfhv")) != -1) @@ -117,11 +117,7 @@ } else fts_options = hflag ? FTS_PHYSICAL : FTS_LOGICAL; - /* XXX: Why don't chflags and lchflags have compatible prototypes? */ - if (hflag) - change_flags = (int (*)(const char *, unsigned long))lchflags; - else - change_flags = chflags; + change_flags = hflag ? lchflags : chflags; flags = *argv; if (*flags >= '0' && *flags <= '7') { --- bin/mv/mv.c.orig +++ bin/mv/mv.c @@ -337,7 +337,7 @@ * on a file that we copied, i.e., that we didn't create.) */ errno = 0; - if (fchflags(to_fd, (u_long)sbp->st_flags)) + if (fchflags(to_fd, (int)sbp->st_flags)) if (errno != EOPNOTSUPP || sbp->st_flags != 0) warn("%s: set flags (was: 0%07o)", to, sbp->st_flags); --- lib/libc/sys/chflags.2.orig +++ lib/libc/sys/chflags.2 @@ -42,11 +42,11 @@ .In sys/stat.h .In unistd.h .Ft int -.Fn chflags "const char *path" "u_long flags" +.Fn chflags "const char *path" "int flags" .Ft int .Fn lchflags "const char *path" "int flags" .Ft int -.Fn fchflags "int fd" "u_long flags" +.Fn fchflags "int fd" "int flags" .Sh DESCRIPTION The file whose name is given by --- sys/sys/stat.h.orig +++ sys/sys/stat.h @@ -292,11 +292,11 @@ #ifndef _KERNEL __BEGIN_DECLS #if __BSD_VISIBLE -int chflags(const char *, unsigned long); +int chflags(const char *, int); #endif int chmod(const char *, mode_t); #if __BSD_VISIBLE -int fchflags(int, unsigned long); +int fchflags(int, int); #endif #if __POSIX_VISIBLE >= 200112 int fchmod(int, mode_t); --- tools/regression/pjdfstest/pjdfstest.c.orig +++ tools/regression/pjdfstest/pjdfstest.c @@ -819,14 +819,12 @@ break; #ifdef HAS_CHFLAGS case ACTION_CHFLAGS: - rval = chflags(STR(0), - (unsigned long)str2flags(chflags_flags, STR(1))); + rval = chflags(STR(0), (int)str2flags(chflags_flags, STR(1))); break; #endif #ifdef HAS_FCHFLAGS case ACTION_FCHFLAGS: - rval = fchflags(NUM(0), - (unsigned long)str2flags(chflags_flags, STR(1))); + rval = fchflags(NUM(0), (int)str2flags(chflags_flags, STR(1))); break; #endif #ifdef HAS_LCHFLAGS