aboutsummaryrefslogtreecommitdiff
path: root/bin/mv/mv.c
Commit message (Collapse)AuthorAgeFilesLines
* General further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-201-0/+2
| | | | | | | | | | | | | | | | | Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point. Notes: svn path=/head/; revision=326025
* Renumber copyright clause 4Warner Losh2017-02-281-1/+1
| | | | | | | | | | | | Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96 Notes: svn path=/head/; revision=314436
* Close from_fd if malloc() fails to avoid a file descriptor leak.Don Lewis2016-05-251-0/+1
| | | | | | | | | Reported by: Coverity CID: 1007203 MFC after: 1 week Notes: svn path=/head/; revision=300643
* mv: Improve message when moving two or more files to non-directory.Jilles Tjoelker2015-06-281-1/+1
| | | | | | | | | | | | | The message text is from cp, which has had a nicer message for this since 2007 (PR bin/50656). As with cp, the exit status changes from 64 to 1. PR: 201083 MFC after: 1 week Notes: svn path=/head/; revision=284916
* cp,mv: Use futimens() instead of utimensat() if possible.Jilles Tjoelker2015-03-231-1/+1
| | | | Notes: svn path=/head/; revision=280386
* cp,mv,touch: Set timestamps with nanosecond precision.Jilles Tjoelker2015-01-241-5/+4
| | | | | | | This uses utimensat(). Notes: svn path=/head/; revision=277645
* Check if fchflags() is needed by fstat'ing before and checkXin LI2014-07-011-4/+13
| | | | | | | | | | the results. Reviewed by: jilles X-MFC-With: r267977 Notes: svn path=/head/; revision=268129
* Always set UF_ARCHIVE on target (because they are by definition new filesXin LI2014-06-271-2/+2
| | | | | | | | | | and should be archived) and ignore error when we can't set it (e.g. NFS). Reviewed by: ken MFC after: 2 weeks Notes: svn path=/head/; revision=267977
* - Make 'flags' argument to chflags(2), fchflags(2) and lchflags(2) of typePawel Jakub Dawidek2013-03-211-1/+1
| | | | | | | | | | | | | | u_long. Before this change it was of type int for syscalls, but prototypes in sys/stat.h and documentation for chflags(2) and fchflags(2) (but not for lchflags(2)) stated that it was u_long. Now some related functions use u_long type for flags (strtofflags(3), fflagstostr(3)). - Make path argument of type 'const char *' for consistency. Discussed on: arch Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=248597
* Follow the behavior as specified in POSIX:Eitan Adler2012-11-151-1/+1
| | | | | | | | | | | | | | | | if (exists AND (NOT f_option) AND ((not_writable AND input_is_terminal) OR i_option)) prompt in particular, add the test for input_is_terminal PR: bin/173039 Submitted by: Mark Johnston <markjdb@gmail.com> Approved by: cperciva MFC after: 3 days Notes: svn path=/head/; revision=243072
* Add a -h flag similar to the -h flag for ln to force mv(1) to treat aJohn Baldwin2012-08-311-3/+17
| | | | | | | | | | | | symbolic link to a directory for the target as a symbolic link instead of a directory. This makes it possible to atomically update a symbolic link using rename(). Reviewed by: gj MFC after: 2 weeks Notes: svn path=/head/; revision=239951
* Put some static keywords in the source code.Ed Schouten2011-10-311-1/+1
| | | | | | | | | For these simple utilities, it doesn't harm to make all global variables static. In fact, this allows the compiler to perform better forms of optimisation and analysis. Notes: svn path=/head/; revision=226961
* Don't chop IO into small pieces, follow cp(1) and just use MAXPHYS.Ivan Voras2011-10-031-15/+9
| | | | Notes: svn path=/head/; revision=225954
* Add NFSv4 ACL support to mv(1).Edward Tomasz Napierala2009-09-041-12/+58
| | | | | | | Reviewed by: rwatson Notes: svn path=/head/; revision=196841
* Staticify symbols that will not be used in otherXin LI2008-07-191-11/+11
| | | | | | | places. Notes: svn path=/head/; revision=180604
* - Roll-back attempts to mimic rename(2) atomicity introduced in 1.47,Diomidis Spinellis2007-12-271-95/+69
| | | | | | | | | | | | | | | | | and follow the letter of the POSIX specification. - Moving a directory to an existing non-empty directory will now fail, as required. - Improve consistency and remove some style bugs of earlier versions. This version passes all tests of tools/regression/bin/mv/regress.sh 1.6 Reviewed by: bde MFC after: 1 month Notes: svn path=/head/; revision=174935
* Calling any function from vfork other than exec* and _exit yieldsDiomidis Spinellis2007-12-171-3/+9
| | | | | | | | | undefined behavior. Noted by: alfred Notes: svn path=/head/; revision=174709
* Eliminate gcc "variable clobbered" warnings by declaring the variablesDiomidis Spinellis2007-12-161-1/+2
| | | | | | | | | living across the vfork as volatile. Noted by: kan Notes: svn path=/head/; revision=174667
* When moving a directory across devices to a place where a directoryDiomidis Spinellis2007-12-161-22/+82
| | | | | | | | | | | | | | | | | | | | with the same name exists, delete that directory first, before performing the copy. This ensures that mv(1) across devices follows the semantics of rename(2), as required by POSIX. This change could introduce the potential of data loss, even if the copy fails, violating the atomicity properties of rename(2). This is (mostly) mitigated by first renaming the destination and obliterating it only after a succesfull copy. The above logic also led to the introduction of code that will cleanup the results of a partial copy, if a cross-device copy fails. PR: bin/118367 MFC after: 1 month Notes: svn path=/head/; revision=174664
* Attempt to complete the userspace integration of POSIX.1e extended ACLs.Christian S.J. Peron2005-09-051-1/+18
| | | | | | | | | | | | | | | | | This includes adding support for ACLs into cp(1) and mv(1) userspace utilities. For mv(1), if _PC_ACL_EXTENDED is in effect for the source AND destination operands, the destination file's ACLs shall reflect the source. For cp(1), if _PC_ACL_EXTENDED is in effect for both source and destination operands, and -p has been specified, the ACLs from the source shall be preserved on the destination. MFC after: 1 month Notes: svn path=/head/; revision=149790
* Correct a few places where we called warn() when warnx() should haveMaxime Henrion2005-05-191-4/+4
| | | | | | | | | | been used. Submitted by: "Liam J. Foy" <liamfoy@sepulcrum.org> Obtained from: DragonFlyBSD Notes: svn path=/head/; revision=146418
* /*- or .\"- or #- to begin license clauses.Warner Losh2005-01-101-1/+1
| | | | Notes: svn path=/head/; revision=139969
* Remove clause 3 from the UCB licenses.Mark Murray2004-04-061-4/+0
| | | | | | | OK'ed by: imp, core Notes: svn path=/head/; revision=127958
* When symbolic link is pointed onto a mount point, it can't be movedPawel Jakub Dawidek2004-03-211-6/+17
| | | | | | | | | | | | to a different file system. Patch in PR was incorrect. PR: bin/64430 Submitted by: Samuel Tardieu MFC after: 3 days Notes: svn path=/head/; revision=127272
* Centralize _PATH_* definitions.David E. O'Brien2003-05-051-2/+0
| | | | | | | Submitted by: Tim Kientzle <kientzle@acm.org> (embellished by me) Notes: svn path=/head/; revision=114763
* Quiet warnings about copyright[].David E. O'Brien2003-05-011-2/+2
| | | | Notes: svn path=/head/; revision=114433
* Update usage for the addition of -n in rev 1.35 of mv.c.Johan Karlsson2002-07-091-2/+2
| | | | | | | Approved by: obrien, sheldonh (mentor). Notes: svn path=/head/; revision=99678
* When trying to emulate a cross-device move operation with cp and rm, addTim J. Robbins2002-06-161-2/+2
| | | | | | | | | | | | a "--" argument after the options so filenames with leading dashes are handled correctly. PR: 39318 Submitted by: Serge van den Boom <svdb@stack.nl> MFC after: 1 week Notes: svn path=/head/; revision=98280
* Remove local definition of _PATH_CP, and use <paths.h>, _PATH_CP is in theJuli Mallett2002-05-171-0/+1
| | | | | | | CURRENT <paths.h>. Notes: svn path=/head/; revision=96806
* Update SCM ID.David E. O'Brien2002-03-221-2/+2
| | | | Notes: svn path=/head/; revision=92974
* Add the -n option, which automatically answers "no" to the overwrite question.David E. O'Brien2002-03-221-5/+13
| | | | Notes: svn path=/head/; revision=92935
* Warnings fixes.Mark Murray2002-02-221-1/+2
| | | | Notes: svn path=/head/; revision=91085
* Move user_from_uid to pwd.hWarner Losh2002-02-141-0/+2
| | | | | | | | | | | | | | | | Move group_from_gid to grp.h Remove from stdlib.h Make the prototypes match the code Fix rm and mv to include new files. NetBSD has these defined in those files, and others too that I've not done. Approved by: terminal room kabal Reviewed by: jhb, phk Notes: svn path=/head/; revision=90644
* missed a few registersWarner Losh2002-02-021-3/+3
| | | | Notes: svn path=/head/; revision=90114
* o __P has been reovedWarner Losh2002-02-021-16/+9
| | | | | | | | | | | | o Old-style K&R declarations have been converted to new C89 style o register has been removed o prototype for main() has been removed (gcc3 makes it an error) o int main(int argc, char *argv[]) is the preferred main definition. o Attempt to not break style(9) conformance for declarations more than they already are. Notes: svn path=/head/; revision=90110
* Fix the type of the NULL arg to execl()Brian Somers2001-07-091-2/+3
| | | | | | | Idea from: Theo de Raadt <deraadt@openbsd.org> Notes: svn path=/head/; revision=79452
* Use PATH_MAX in preference to MAXPATHLEN.Warner Losh2001-05-291-3/+4
| | | | Notes: svn path=/head/; revision=77409
* Silence WARNS=2 and BDECFLAGS on alpha and i386, except for mode_tKris Kennaway2001-05-201-7/+8
| | | | | | | | | warnings. MFC after: 1 week Notes: svn path=/head/; revision=76878
* Don't emit a warning message if fchflags() returns EOPNOTSUPPSADA Kenji2000-07-201-1/+10
| | | | | | | | Requested by: FUJISHIMA Satsuki <k5@cheerful.com> Obtained from: OpenBSD Notes: svn path=/head/; revision=63680
* To make inherit file flags when mv(1) moves file between directoriesSADA Kenji2000-07-151-0/+2
| | | | | | | | | | | | on different file systems. PR: bin/12375 Submitted by: Takashi SHIRAI <shirai@nintendo.co.jp> No response by: steve No problem with: building 5-current world Notes: svn path=/head/; revision=63225
* Use lstat(2) instead of stat(2) when deciding if we should fastcopyDavid Malone2000-07-111-1/+1
| | | | | | | | | | a file. This fixes moving symlinks across partitions. PR: 17847 Reviewed by: bde Notes: svn path=/head/; revision=62963
* add verbose flagMichael Haro1999-08-291-7/+17
| | | | Notes: svn path=/head/; revision=50544
* $Id$ -> $FreeBSD$Peter Wemm1999-08-271-1/+1
| | | | Notes: svn path=/head/; revision=50471
* Calls one or more of malloc(), warn(), err(), syslog(), execlp() orDag-Erling Smørgrav1998-10-131-2/+2
| | | | | | | | | | | | | | execvp() in the child branch of a vfork(). Changed to use fork() instead. Some of these (mv, find, apply, xargs) might benefit greatly from being rewritten to use vfork() properly. PR: Loosely related to bin/8252 Approved by: jkh and bde Notes: svn path=/head/; revision=40301
* Fixed printf format errors.Bruce Evans1998-06-281-3/+3
| | | | Notes: svn path=/head/; revision=37245
* Make sure we don't overflow the path buffer. Exit if we do.Warner Losh1998-06-091-2/+4
| | | | | | | Obtained from or inspired by: A similar change in OpenBSD by theo Notes: svn path=/head/; revision=36785
* Don't append a '/' to the destination directory if thereSteve Price1998-05-251-3/+5
| | | | | | | | | is already one there. PR: 3025 Notes: svn path=/head/; revision=36383
* Correct use of .Nm. Add rcsid.Philippe Charnier1998-05-151-3/+5
| | | | Notes: svn path=/head/; revision=36049
* Merge from OpenBSD:Eivind Eklund1997-12-101-2/+16
| | | | | | | | | | | | > Error out if someone tries to mv a mount point. Old behavior was to > move all files contained in the mounted filesystem to the dest. dir > which could be quite nasty. Personally, I think rename(2) should > return EPERM or EINVAL instead of EXDEV. Obtained from: OpenBSD mv.c rev 1.6 by Todd Miller <millert@openbsd.org> Notes: svn path=/head/; revision=31664
* Synchronize usage() and man page.Wolfgang Helbig1997-10-261-3/+3
| | | | | | | Pointed out by bde. Notes: svn path=/head/; revision=30727