aboutsummaryrefslogtreecommitdiff
path: root/toys/posix/cp.c
AgeCommit message (Collapse)Author
2017-01-28Add missing `static`s and remove an unused function.Elliott Hughes
2016-08-18Change xgetpwnamid/xgetgrnamid to xgetuid/xgetgid returning the id numberRob Landley
instead of a struct. This means it can return "12345" even if that user/group doesn't exist in /etc/passwd and similar. All the users were immediately dereferencing it to get pw_uid or gr_gid anyway, so just return it directly and adjust the users. This fixes things like "chown 12345:23456 filename".
2016-06-15Add readlink0() and readlinkat0() which null terminate the data.Rob Landley
2016-06-09Fix dangling link after cp commandKyungsik Lee
"toybuf" should be initialized before calling symlinkat() or dangling link could occur.
2016-05-31In cp -a, don't complain if non-root user can't chown, failure is expected.0.7.1Rob Landley
2016-05-30Add output path to cp error message filenames.Rob Landley
2016-03-30Whitespace and comment.Rob Landley
2016-03-30Implement mv -n / cp -n (no clobber).Andy Chu
This fixes a failing test case in mv.test. Test changes: - Add coverage for -i (interactive). - Better descriptions, better formatting, and removed some redundant cases.
2016-03-12Update scripts/single.sh and cp.c so "make mv" isn't actually building cp.Rob Landley
2016-03-12The xattr functions were added during the 2.5 kernel, lsm.h can #include theRob Landley
header unconditionally. (This fixes the warning when CP_PRESERVE disabled.)
2016-03-07Cleanup pass on the dirtree infrastructure, in preparation for making rm -rRob Landley
handle infinite depth. Fix docs, tweak dirtree_handle_callback() semantics, remove dirtree_start() and don't export dirtree_handle_callback(), instead offer dirtree_flagread(). (dirtree_read() is a wrapper around dirtree_flagread passing 0 for flags.)
2016-02-01Fix directory test in cp.Elliott Hughes
Commit 3d33dd80f8cb931e293d7f64c44bc357fec11120 fixed a use of S_ISDIR on st_dev rather than st_mode in find, but there was another instance of the same error in cp.
2016-01-05Add error_msg_raw() and friends, replace error_msg("%s", s) uses, enable formatRob Landley
checking, and fix up format checking complaints. Added out(type, value) function to stat to avoid a zillion printf typecasts.
2015-12-22First guess at cp xattr support, ala --preserve=context,xattrRob Landley
2015-12-22Convert cp from magic constants to TAGGED_ARRAY()Rob Landley
2015-10-27Install without a mode should use 0755, and check FLAG_preserve instead ofRob Landley
the global so "install -g 0" doesn't alias to "cp --preserve 0" and error out. through to --preserve 0"
2015-09-07Remove prompt argument from yesno(), caller can fprintf(stderr, "blah") itself.Rob Landley
This fixes the build break, the change to yesno() prototype accidentally got checked in last commit. (Oops, sorry.)
2015-08-30Fix mv on overwrite.Elliott Hughes
We need to remove the destination, not the source, to be able to overwrite.
2015-07-03First pass on cp --preserveRob Landley
2015-05-10Cleanups of dirtree_start() calls. (Don't need to feed in flag values, justRob Landley
symfollow true/false.)
2015-05-09Add DIRTREE_SHUTUP to disable dirtree warnings if file vanishes out fromRob Landley
under traversal. Pass through full flag set in dirtree_add_node(), add dirtree_start() wrapper to provide symlink-only behavior (avoiding a lot of DIRTREE_SYMFOLLOW*!!(logic) repeated in callers).
2015-03-21install -D bugfix from David Halls.Rob Landley
(I tweaked some comment text while I was there.)
2015-03-12Make install support numeric uid/gids (reported by Kylie McClain).Rob Landley
2015-03-01Patches from Elliott Hughes to fix various printf() format strings.Rob Landley
(Don't specify the space flag when it's the default behavior. The ifconfig stuff was actual bugs.)
2015-02-15Add --remove-destination longopt for -F because the host version doesn't ↵Rob Landley
have a shortopt for it.
2014-12-31When CP_MORE was disabled, the d flag was still in the [-exclusion] list at ↵Rob Landley
the end and option parsing fell off the end looking for it (segfault) if DEBUG wasn't enabled to check for that.
2014-12-18Decouple cp and mv so mv uses its own --help text.Rob Landley
MV still requires CP enabled until the flag generation logic gets updated.
2014-11-22As long as Android's going to require fortify, fixup the warnings it generates.Rob Landley
2014-10-14Fix last night's mv commit (use dest, not source).Rob Landley
2014-10-14Implement mv -f and -i.Rob Landley
2014-10-09Various bugfixes (mostly resource leaks) from Ashwini Sharma's static ↵Rob Landley
analysis, plus occasional tweak by me while reviewing them.
2014-09-14Split xpopen() into xpopen_both(), xpopen(), and xrun() depending on whether ↵Rob Landley
we want to redirect both, one, or neither of stdin/stdout.
2014-09-01Add cp -F to force delete of existing destination files, and make install ↵Rob Landley
command use that. -F is equivalent to the gnu/dammit flag --we-think-long-options-without-short-options-are-a-good-idea
2014-08-16Add install to cp/mv.Rob Landley
2014-07-26Move DIRTREE_COMEAGAIN second callback up to when the filehandle is still ↵Rob Landley
open, and add dir->again variable to distinguish second call instead of checking for -1 filehandle.
2014-07-14Implement -HL for cp.Rob Landley
2014-02-04Tweak help text.Rob Landley
2014-01-16Rename xmsprintf() to just xmprintf().Rob Landley
Partly because there's no supplied target string ala sprintf, and partly because I can never remember what order the m and s go in.
2013-08-01Need to specify bool for CP_MV_MORE config symbol to avoid warnings.Rob Landley
2013-06-22Implement mv as an extension of cp.Rob Landley
2013-02-10Implement cp -s option.Rob Landley
2013-01-31Fix -in behavior: descend into existing directory without prompting, show ↵Rob Landley
full path in error messages, actually overwrite when answering yes to -i.
2013-01-18Adjust umask(0) for cp -p so mknod doesn't have to try to fchmodat() without ↵0.4.3Rob Landley
the unsupported symlink nofollow flag.
2013-01-16Make "sudo cp -rp /dev/null blah" work. Still not happy with it, ↵Rob Landley
fchmodat(AT_SYMLINK_NOFOLLOW) doesn't work (there's a glibc bug open for this. It's really a missing kernel syscall, but glibc fails without ever making any syscall if you feed it that flag, which isn't helpful).
2013-01-12Update -p and -f to apply properly to various conditions. Still some bugs to ↵Rob Landley
squeeze out but this gets the infrastructure mostly right (and does away with the remaining gotos).
2013-01-10Teach cp to do -n.Rob Landley
2013-01-09Teach cp to do mknod.Rob Landley
2013-01-07Adapt cp to updated dirtree code.Rob Landley
2012-11-13Reindent to two spaces per level. Remove vi: directives that haven't worked ↵Rob Landley
right in years (ubuntu broke its' vim implementation). Remove trailing spaces. Add/remove blank lines. Re-wordwrap in places. Update documentation with new coding style. The actual code should be the same afterward, this is just cosmetic refactoring.
2012-10-08New build infrastructure to generate FLAG_ macros and TT alias, #define ↵Rob Landley
FOR_commandname before #including toys.h to trigger it. Rename DEFINE_GLOBALS() to just GLOBALS() (because I could never remember if it was DECLARE_GLOBALS). Convert existing commands to use new infrastructure, and replace optflag constants with FLAG_ macros where appropriate.