aboutsummaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorTim Kientzle <kientzle@FreeBSD.org>2008-07-05 05:16:23 +0000
committerTim Kientzle <kientzle@FreeBSD.org>2008-07-05 05:16:23 +0000
commit0d35b0da0c558d4e60165c1f04b0eae9906926c6 (patch)
treea116cb2f105a039a4e6f65abc213cdd8e5ad4e84 /usr.bin
parent2ebfcda850565e109a4e97147f6910022850248b (diff)
Notes
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/cpio/cpio.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/usr.bin/cpio/cpio.c b/usr.bin/cpio/cpio.c
index c5d86d7afe9a..f2c49bac8557 100644
--- a/usr.bin/cpio/cpio.c
+++ b/usr.bin/cpio/cpio.c
@@ -535,14 +535,16 @@ entry_to_archive(struct cpio *cpio, struct archive_entry *entry)
fprintf(stderr,"%s", destpath);
/*
- * Obviously, this only gets invoked in pass mode, since
- * option_link is nonsense otherwise. Note that we can't
- * hardlink dirs, and that if a link operation fails (because
- * of cross-device restrictions), we'll fall back to copy mode
- * for that entry.
+ * Option_link only makes sense in pass mode and for
+ * regular files. Also note: if a link operation fails
+ * because of cross-device restrictions, we'll fall back
+ * to copy mode for that entry.
+ *
+ * TODO: Test other cpio implementations to see if they
+ * hard-link anything other than regular files here.
*/
if (cpio->option_link
- && archive_entry_filetype(entry) != AE_IFDIR)
+ && archive_entry_filetype(entry) == AE_IFREG)
{
struct archive_entry *t;
/* Save the original entry in case we need it later. */