SCCS-vsn: bin/rcp/rcp.c 5.3
- "Usage: rcp [-rp] f1 f2, or: rcp [-rp] f1 ... fn d2\n");
+ "Usage: rcp [-p] f1 f2; or: rcp [-rp] f1 ... fn d2\n");
#define mtime tv[1]
#define SCREWUP(str) { whopp = str; goto screwup; }
#define mtime tv[1]
#define SCREWUP(str) { whopp = str; goto screwup; }
+ if (!pflag)
+ (void) umask(mask);
if (argc != 1) {
error("rcp: ambiguous target\n");
exit(1);
if (argc != 1) {
error("rcp: ambiguous target\n");
exit(1);
if (*cp++ != ' ')
SCREWUP("mode not delimited");
size = 0;
if (*cp++ != ' ')
SCREWUP("mode not delimited");
size = 0;
- while (*cp >= '0' && *cp <= '9')
size = size * 10 + (*cp++ - '0');
if (*cp++ != ' ')
SCREWUP("size not delimited");
size = size * 10 + (*cp++ - '0');
if (*cp++ != ' ')
SCREWUP("size not delimited");
errno = ENOTDIR;
goto bad;
}
errno = ENOTDIR;
goto bad;
}
+ if (pflag)
+ (void) chmod(nambuf, mode);
} else if (mkdir(nambuf, mode) < 0)
goto bad;
myargv[0] = nambuf;
} else if (mkdir(nambuf, mode) < 0)
goto bad;
myargv[0] = nambuf;
error("rcp: %s: %s\n", nambuf, sys_errlist[errno]);
continue;
}
error("rcp: %s: %s\n", nambuf, sys_errlist[errno]);
continue;
}
+ if (exists && pflag)
+ (void) fchmod(of, mode);
ga();
if ((bp = allocbuf(&buffer, of, BUFSIZ)) < 0) {
(void) close(of);
ga();
if ((bp = allocbuf(&buffer, of, BUFSIZ)) < 0) {
(void) close(of);