+ if (Nflag)
+ return (GOOD);
+ if (! (spcl.c_flags & DR_METAONLY)) {
+ int fd;
+ if (uflag)
+ (void)unlink(name);
+ if ((fd = open(name, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0) {
+ warn("%s: cannot create dummy file", name);
+ return (FAIL);
+ }
+ close(fd);
+ }
+ (void) chown(name, luid, lgid);
+ (void) chmod(name, mode);
+ extractattr(name);
+ utimes(name, timep);
+ if (flags)
+#ifdef __linux__
+ (void) lsetflags(name, flags);
+#else
+#ifdef sunos
+ {
+ warn("%s: cannot call chflags", name);
+ /* (void) chflags(name, flags); */
+ }
+#else
+ (void) chflags(name, flags);
+#endif
+#endif