sbase/libutil
Arthur Williams 8dfcbf23b0 cp: don't abort when src and dest file are the same
The POSIX spec gives many options on how to handle this case, but it
also states that cp (and mv) should continue with remaining operands
regardless. We used to exit immediately, which violates the spec.

This change makes cp/mv not exit immediately in this case and
also won't cause the return value to be non-zero.

From `man 1p cp`:
   If source_file references the same file as dest_file, cp may write
   a diagnostic message to standard error; it shall do nothing more
   with source_file and shall go on to any remaining files.
2023-04-12 21:09:12 -07:00
..
concat.c concat: Use plain read/write instead of buffered stdio 2017-07-14 07:50:47 +02:00
cp.c Use *at functions with appropriate flags instead of lstat/lchown 2020-03-05 00:45:53 -08:00
crypt.c Don't use buffered IO (fread) when not appropriate 2017-07-03 21:04:14 +02:00
ealloc.c add estrndup 2015-02-11 01:17:21 +00:00
enmasse.c Revert "enmasse: For the special case of 2 args, do not distinguish between dirs and files" 2015-11-13 14:31:34 +00:00
eprintf.c Check argv0 in xvprintf() 2015-12-21 14:13:36 +00:00
eregcomp.c code-style: whitespace fixes 2015-09-30 19:44:10 +01:00
estrtod.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
fnck.c cp: don't abort when src and dest file are the same 2023-04-12 21:09:12 -07:00
fshut.c Fix typo in libutil/fshut.c 2015-10-26 16:53:28 +00:00
getlines.c libutil/getlines: Use reallocarray 2019-12-31 13:39:08 -08:00
human.c Use off_t in humansize() as it is more descriptive and applicable 2015-04-29 16:42:49 +01:00
linecmp.c linecmp: Handle NUL bytes properly 2016-07-09 10:09:50 +01:00
md5.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
memmem.c Support NUL-containing lines in sort(1) 2016-03-10 08:48:09 +00:00
mkdirp.c mkdir: Fix created directory permissions 2017-07-03 21:03:11 +02:00
mode.c chmod: Implement X perm symbol 2020-01-06 13:47:26 -08:00
parseoffset.c Use SSIZE_MAX for overflow check in parseoffset() 2015-11-26 10:35:46 +00:00
putword.c Actually print <space> to stream in putword() too 2015-04-21 18:00:47 +01:00
reallocarray.c libutil: Add enreallocarray 2019-04-16 17:41:39 -07:00
recurse.c libutil/recurse: Simplify adding trailing slash 2020-06-20 18:48:14 -07:00
rm.c libutil/recurse: Use a single path buffer, and directory fd 2020-03-05 00:45:53 -08:00
sha1.c Rename util/ to libutil/ 2014-11-17 16:48:34 +00:00
sha224.c add sha224sum and sha384sum 2016-02-24 10:15:16 +00:00
sha256.c add sha224sum and sha384sum 2016-02-24 10:15:16 +00:00
sha384.c add sha224sum and sha384sum 2016-02-24 10:15:16 +00:00
sha512-224.c add sha512-224sum (SHA512/224) and sha512-256sum (SHA512/256) 2016-02-24 10:40:57 +00:00
sha512-256.c add sha512-224sum (SHA512/224) and sha512-256sum (SHA512/256) 2016-02-24 10:40:57 +00:00
sha512.c add sha224sum and sha384sum 2016-02-24 10:15:16 +00:00
strcasestr.c code-style: whitespace fixes 2015-09-30 19:44:10 +01:00
strlcat.c Add estrlcat() and estrlcpy() 2015-03-17 11:24:49 +01:00
strlcpy.c Add estrlcat() and estrlcpy() 2015-03-17 11:24:49 +01:00
strsep.c Import strsep() from musl libc 2015-01-25 17:48:11 +00:00
strtonum.c Use strtonum and libutf in test(1), refactor code and manpage 2015-02-09 22:21:23 +01:00
unescape.c libutil/unescape: NULL terminate unescaped string 2017-03-24 10:40:32 +01:00
writeall.c libutil: Add writeall utility function 2017-07-03 21:04:12 +02:00