// Can't do fchmod() etc here because -p works on mkdir, too.
if (toys.optflags & FLAG_p) {
- int mask = umask(0);
+ int mask = umask(0), ignored;
struct utimbuf ut;
- fchown(fdout,srcst->st_uid, srcst->st_gid);
+ ignored = fchown(fdout,srcst->st_uid, srcst->st_gid);
ut.actime = srcst->st_atime;
ut.modtime = srcst->st_mtime;
utime(dst, &ut);
if (mknod(temp, mode | type, makedev(major, minor)) && errno != EEXIST)
perror_exit("mknod %s failed", temp);
- if (CFG_MDEV_CONF) chown(temp, uid, gid);
+ // Dear gcc: shut up about ignoring the return value here. If it doesn't
+ // work, what exactly are we supposed to do about it?
+ if (CFG_MDEV_CONF) mode=chown(temp, uid, gid);
}
static int callback(char *path, struct dirtree *node)