diff options
author | julian <julian@FreeBSD.org> | 2006-08-24 20:45:38 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 2006-08-24 20:45:38 +0000 |
commit | b0fd0e692560ae88e7e9773907b6d2c18a8d0196 (patch) | |
tree | 4d497ada8393e7dbb8d94ec459fa2ab39e7c063d /bin/cp/cp.c | |
parent | e574350b77b314c0adecc7516040ab41e14df230 (diff) | |
download | FreeBSD-src-b0fd0e692560ae88e7e9773907b6d2c18a8d0196.zip FreeBSD-src-b0fd0e692560ae88e7e9773907b6d2c18a8d0196.tar.gz |
Add an option to allow copying of a hierarchy while linking he regular files.
Bikeshedded to death on: hackers
Submitted by:andersonatcenttech.com
MFC in: 1 month
Diffstat (limited to 'bin/cp/cp.c')
-rw-r--r-- | bin/cp/cp.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/bin/cp/cp.c b/bin/cp/cp.c index b0a3db7..e87588b 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -83,7 +83,7 @@ static char emptystring[] = ""; PATH_T to = { to.p_path, emptystring, "" }; -int fflag, iflag, nflag, pflag, vflag; +int fflag, iflag, lflag, nflag, pflag, vflag; static int Rflag, rflag; volatile sig_atomic_t info; @@ -102,7 +102,7 @@ main(int argc, char *argv[]) char *target; Hflag = Lflag = Pflag = 0; - while ((ch = getopt(argc, argv, "HLPRfinprv")) != -1) + while ((ch = getopt(argc, argv, "HLPRfinprvl")) != -1) switch (ch) { case 'H': Hflag = 1; @@ -140,6 +140,9 @@ main(int argc, char *argv[]) case 'v': vflag = 1; break; + case 'l': + lflag = 1; + break; default: usage(); break; @@ -457,6 +460,9 @@ copy(char *argv[], enum op type, int fts_options) badcp = rval = 1; } break; + case S_IFSOCK: + warnx("%s is a socket (not copied).", + curr->fts_path); case S_IFIFO: if (Rflag) { if (copy_fifo(curr->fts_statp, !dne)) |