summaryrefslogtreecommitdiffstats
path: root/usr.bin/tar
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2004-06-27 18:32:14 +0000
committerkientzle <kientzle@FreeBSD.org>2004-06-27 18:32:14 +0000
commit34ed55636f92a39a90a92eadbea5f89e0b642b23 (patch)
tree67764a5b562724e535ee3d8d32cc1bdc90df6774 /usr.bin/tar
parent91b307bf77d6b9a4763c361446fece88fdc9cb0a (diff)
downloadFreeBSD-src-34ed55636f92a39a90a92eadbea5f89e0b642b23.zip
FreeBSD-src-34ed55636f92a39a90a92eadbea5f89e0b642b23.tar.gz
Warn about stripping leading '/' when creating archives.
Diffstat (limited to 'usr.bin/tar')
-rw-r--r--usr.bin/tar/write.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/usr.bin/tar/write.c b/usr.bin/tar/write.c
index dc2ddc0..c8cac23 100644
--- a/usr.bin/tar/write.c
+++ b/usr.bin/tar/write.c
@@ -794,8 +794,15 @@ write_entry(struct bsdtar *bsdtar, struct archive *a, struct stat *st,
}
/* Strip leading '/' unless user has asked us not to. */
- if (pathname && pathname[0] == '/' && !bsdtar->option_absolute_paths)
+ if (pathname && pathname[0] == '/' && !bsdtar->option_absolute_paths) {
+ /* Generate a warning the first time this happens. */
+ if (!bsdtar->warned_lead_slash) {
+ bsdtar_warnc(bsdtar, 0,
+ "Removing leading '/' from member names");
+ bsdtar->warned_lead_slash = 1;
+ }
pathname++;
+ }
archive_entry_set_pathname(entry, pathname);
OpenPOWER on IntegriCloud