summaryrefslogtreecommitdiffstats
path: root/bin/cp
Commit message (Collapse)AuthorAgeFilesLines
...
* Bruce thought some of the comments I added were not clear enough. This ismckay2002-01-011-8/+8
| | | | a combination of my words and his. We will stop fiddling now. :-)
* The previous fix caused cp to emit spurious warnings under somemckay2001-12-231-22/+26
| | | | | | | circumstances. This is a reworked version of the same fix, that does not have this defect, and which fixes some style bugs at the same time. Bug reported and fix reviewed by: bde
* Preserve directory timestamps with -p. Allow non-empty read-onlymckay2001-12-111-11/+39
| | | | | | | | | | directories to be copied. Apply umask to newly created directories when -p is not specified. PR: 27970 PR: 31633 MFC after: 4 days
* Typo in warning message (chown should be chmod).mckay2001-12-111-1/+1
|
* Default to WARNS=2. Binary builds that cannot handle this must explicitlyobrien2001-12-041-1/+2
| | | | | | set WARNS=0. Reviewed by: mike
* mdoc(7) police: utilize the new .Ex macro.ru2001-08-151-3/+1
|
* Remove whitespace at EOL.dd2001-07-151-9/+9
|
* mdoc(7) police: removed HISTORY info from the .Os call.ru2001-07-101-1/+1
|
* Add more headers that are required with -fno-builtin (stdlib and strings)des2001-06-192-0/+2
|
* Removed the broken code which claimed to lose the set[ug]id bits inbde2001-06-113-27/+4
| | | | | | | | | | | | | | | | | | | | | the !(pflag && setfile()) case for regular files unless the copy is owned by the same user and group. These bits have already been lost (or never gained) in the correct way. The code didn't actually lose the bits; it depended on them being lost already (apparently in all cases) and attempted to gain them as necessary, but it often gained them (and sometimes collateral bits) when wrong: - pflag && setfile() == 0 case (i.e., for a successful cp -p): setfile() copies all the attributes as correctly as possible (as specified by POSIX), and we sometimes messed up the up the mode by setting it again. Also, if the file is immutable, then setting the mode again gave spurious errors (PR 20646). - !pflag case. If the target is created, POSIX requires it to not have the set[ug]id bits, but we sometimes copied them from the source. If the target already exists, POSIX requires its mode to be unchanged, but we sometimes copied the whole mode from the source. PR: 20646 MFC after: 4 weeks
* Make it clear that -P is the default.ru2001-05-251-0/+1
| | | | PR: docs/27629
* Migrate from using MAXPATHLEN to MAX_PATH. Use strlcpy to copy theimp2001-05-163-5/+6
| | | | strings.
* In the hope of saving others from hours of tedious recovery work,mckay2001-02-041-0/+10
| | | | | document that cp still isn't very useful for recursive copies even with the -R flag. This is because hard links are broken by cp.
* mdoc(7) police: use the new features of the Nm macro.ru2000-11-201-2/+2
|
* Don't depend on <sys/stat.h> bogusly including <sys/time.h> (and therebywollman2000-10-101-0/+1
| | | | <time.h>).
* fix cp -vi bugmharo2000-01-231-2/+3
| | | | Submitted by: Dan Papasian (bugg_ on irc)
* brucifymharo1999-11-282-16/+20
| | | | Reviewed by: obrien
* brucify and move printf() to catch cases of special filesmharo1999-08-293-11/+7
|
* $Id$ -> $FreeBSD$peter1999-08-275-5/+5
|
* Add a verbose mode to show what files are being copied.mharo1999-08-264-9/+24
| | | | | | Idea taken from obrien. Reviewed by: obrien
* Add -W and fix the warning due to missing struct initializerkris1999-07-102-4/+4
|
* Various spelling/formatting changes.kris1999-05-083-8/+9
| | | | Submitted by: Philippe Charnier <charnier@xp11.frmug.org>
* First set of fixes to keep egcs happy. These include {} around singleimp1999-04-252-4/+6
| | | | | | | | | | statement if blocks[*] when the else could be ambiguous, not defaulting to int type and removal of some unused variables. [*] This is explicitly allowed by style(9) when the single statement spans more than one line. Reviewed by: obrien, chuckr
* Don't use mmap() for non-regular files, since st_size is only meaningfulbde1998-11-181-2/+2
| | | | | | | | for regular files. This fixes recent breakage of cp'ing from /dev/zero. /dev/zero doesn't support mmap(), but the device driver mmap routines are not called for mapping 0 bytes, so the error was not detected. mmap() can't even be used for cp'ing special files that support mmap(), since there is general way to determine the file size.
* Use mmap for file coping. 5-10% faster than the read system call.wosch1998-11-141-1/+2
|
* Correct a grammatical nit and remove ambiguity about the effect ofjkoshy1998-10-131-4/+6
| | | | | | | the -p option. PR: 8229 Submitted-by: Sheldon Hearn <axl@iafrica.com>
* Don't attempt to change owner/mode/flags that don't need to changed.peter1998-06-101-15/+29
| | | | | | This should calm down attempts to `cp -p' to a nfs mount or some other filesystem that doesn't accept flags or all combinations of flags. It will warn if it fails to change flags though.
* Print correct error message if we copy an unreadable directory.dt1998-06-091-1/+2
|
* Make sure we pass the length - 1 to readlink, since it adds its ownimp1998-06-091-2/+2
| | | | | NUL at the end of the path. Inspired by: OpenBSD's changes in this area by theo de raadt
* Restore Lite-2 sccsid.charnier1998-05-132-4/+4
|
* Correct use of .Nm and other cosmetics. Add rcsid. Remove unused #inc.charnier1998-05-063-24/+21
|
* Fixed syntax error in normally-unconfigured code in previous commit.bde1998-01-171-2/+2
|
* Fixed handling of short writes. Previously, we stopped copying andbde1998-01-161-5/+17
| | | | | | printed a bogus warning with a stale errno if write() returns a short count. Now we continue copying. We still print a bogus warning if write() returns an "impossible" short count of 0.
* cp(1) is too silent if used with the option -i. It shouldwosch1997-10-031-2/+5
| | | | | print which input cp(1) expect (y/n) and print a warning if the file was not overwritten.
* compare return value from getopt against -1 rather than EOF, per the finalimp1997-03-281-2/+2
| | | | posix standard on the topic.
* Revert $FreeBSD$ to $Id$peter1997-02-225-5/+5
|
* Sweep through the tree fixing mmap() usage:alex1997-01-161-1/+1
| | | | | | | | | | | | - Use MAP_FAILED instead of the constant -1 to indicate failure (required by POSIX). - Removed flag arguments of '0' (required by POSIX). - Fixed code which expected an error return of 0. - Fixed code which thought any address with the high bit set was an error. - Check for failure where no checks were present. Discussed with: bde
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-145-5/+5
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Merge Lite2 mods and -Wall cleaning.steve1996-12-143-9/+16
|
* [HISTORY] command appeared in Version 1 AT&T UNIXwosch1996-08-291-1/+6
| | | | Obtained from: A Quarter Century of UNIX, Peter H. Salus, page 41
* Option -f implemented (remove + create)wosch1996-03-084-17/+37
| | | | | | | | | option -f and -i are exclusive respond `Y' is equal to `y' fix usage string remove isatty(3) check Reviewed by: pst
* Don't initialize udata, remove bogus case, fix usage stringpst1996-02-192-6/+5
|
* delete my last commitwosch1996-02-194-35/+14
| | | | Submitted by: pst, ache
* Option -f implemented (remove + create)wosch1996-02-184-18/+39
| | | | | | | option -f and -i are exclusive all flag variables initialized with zero respond `Y' is equal to `y' update usage string
* Preserve sticky bit for `cp -pR'. It was already preserved for `cp -R'.bde1995-10-031-2/+3
| | | | This also fixes loss of the sticky bit for `mv' across file systems.
* Don't unlink the target file if the copy failed. This behaviour isn'tbde1995-06-141-8/+7
| | | | | | | | | | documented and is incompatible with gnu cp. It has very few good effects (it recovers some disk space) and many bad ones: - special files are unlinked after certain errors. - the data may not be recoverable if the source is a special file or fifo. - unlinking destroys the target attributes as well as the target data. - unlinking doesn't actually remove the target data if the target is multiply linked.
* Remove trailing whitespace.rgrimes1995-05-302-19/+19
| | | | Reviewed by: phk
* Add braces to fix wrong if-if-else-if nesting that broke `cp -pR' forbde1995-04-021-4/+6
| | | | fifos.
* Fix bogus format string; fixes problem reported by Wolfram Schneider.dg1995-01-251-2/+2
|
* Don't strip off the last slash in the pathname "/". cp used tobde1994-12-301-18/+15
| | | | | | | | | | | | | | stat the pathname "" in order to decide that the pathname "/" is a directory. This caused `cp kernel /' to fail if the kernel has the POSIX behaviour of not allowing the pathname "" to be an alias for ".". It presumably also caused `cp /etc/motd /' to fail in the unlikely event that "." is not stat'able. Be more careful about concatenating pathnames: don't check that the pathname fits until prefixes have been discarded (the check was too strict). Print the final pathname in error messages. Terminate the target directory name properly for error messages. Don't add a slash between components if there is already a slash.
OpenPOWER on IntegriCloud