Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F161773452
D42673.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D42673.diff
View Options
diff --git a/bin/cp/cp.1 b/bin/cp/cp.1
--- a/bin/cp/cp.1
+++ b/bin/cp/cp.1
@@ -29,7 +29,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd February 23, 2022
+.Dd December 7, 2023
.Dt CP 1
.Os
.Sh NAME
@@ -42,7 +42,7 @@
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl f | i | n
-.Op Fl alpsvx
+.Op Fl alNpsvx
.Ar source_file target_file
.Nm
.Oo
@@ -50,15 +50,15 @@
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl f | i | n
-.Op Fl alpsvx
+.Op Fl alNpsvx
.Ar source_file ... target_directory
.Nm
.Op Fl f | i | n
-.Op Fl alPpsvx
+.Op Fl alNPpsvx
.Ar source_file target_file
.Nm
.Op Fl f | i | n
-.Op Fl alPpsvx
+.Op Fl alNPpsvx
.Ar source_file ... target_directory
.Sh DESCRIPTION
In the first synopsis form, the
@@ -88,6 +88,10 @@
If the
.Fl R
option is specified, all symbolic links are followed.
+.It Fl N
+When used with
+.Fl p ,
+suppress copying file flags.
.It Fl P
No symbolic links are followed.
This is the default if the
diff --git a/bin/cp/cp.c b/bin/cp/cp.c
--- a/bin/cp/cp.c
+++ b/bin/cp/cp.c
@@ -72,7 +72,7 @@
PATH_T to = { to.p_path, emptystring, "" };
-int fflag, iflag, lflag, nflag, pflag, sflag, vflag;
+int Nflag, fflag, iflag, lflag, nflag, pflag, sflag, vflag;
static int Hflag, Lflag, Rflag, rflag;
volatile sig_atomic_t info;
@@ -91,7 +91,7 @@
fts_options = FTS_NOCHDIR | FTS_PHYSICAL;
Pflag = 0;
- while ((ch = getopt(argc, argv, "HLPRafilnprsvx")) != -1)
+ while ((ch = getopt(argc, argv, "HLNPRafilnprsvx")) != -1)
switch (ch) {
case 'H':
Hflag = 1;
@@ -101,6 +101,9 @@
Lflag = 1;
Hflag = Pflag = 0;
break;
+ case 'N':
+ Nflag = 1;
+ break;
case 'P':
Pflag = 1;
Hflag = Lflag = 0;
diff --git a/bin/cp/extern.h b/bin/cp/extern.h
--- a/bin/cp/extern.h
+++ b/bin/cp/extern.h
@@ -36,7 +36,7 @@
} PATH_T;
extern PATH_T to;
-extern int fflag, iflag, lflag, nflag, pflag, sflag, vflag;
+extern int Nflag, fflag, iflag, lflag, nflag, pflag, sflag, vflag;
extern volatile sig_atomic_t info;
__BEGIN_DECLS
diff --git a/bin/cp/utils.c b/bin/cp/utils.c
--- a/bin/cp/utils.c
+++ b/bin/cp/utils.c
@@ -349,7 +349,7 @@
rval = 1;
}
- if (!gotstat || fs->st_flags != ts.st_flags)
+ if (!Nflag && (!gotstat || fs->st_flags != ts.st_flags))
if (fdval ?
fchflags(fd, fs->st_flags) :
(islink ? lchflags(to.p_path, fs->st_flags) :
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Jul 7, 5:29 PM (6 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34807655
Default Alt Text
D42673.diff (2 KB)
Attached To
Mode
D42673: cp: Add -N flag, inspired by NetBSD's similar flag
Attached
Detach File
Event Timeline
Log In to Comment