[BusyBox-cvs] busybox/archival/libunarchive get_header_tar.c,1.17,1.18

Glenn McGrath bug1 at busybox.net
Thu Jun 12 13:47:20 UTC 2003


Update of /var/cvs/busybox/archival/libunarchive
In directory winder:/tmp/cvs-serv2480/archival/libunarchive

Modified Files:
	get_header_tar.c 
Log Message:
Handle hard links by converting them to symlinks


Index: get_header_tar.c
===================================================================
RCS file: /var/cvs/busybox/archival/libunarchive/get_header_tar.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- get_header_tar.c	19 Mar 2003 09:11:25 -0000	1.17
+++ get_header_tar.c	12 Jun 2003 13:47:16 -0000	1.18
@@ -120,6 +120,10 @@
 	file_header->device = (dev_t) ((strtol(tar.formated.devmajor, NULL, 8) << 8) +
 				 strtol(tar.formated.devminor, NULL, 8));
 
+	if (tar.formated.typeflag == '1') {
+		bb_error_msg("WARNING: Converting hard link to symlink");
+		file_header->mode |= S_IFLNK;
+	}
 #if defined CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY || defined CONFIG_FEATURE_TAR_GNU_EXTENSIONS
 	/* Fix mode, used by the old format */
 	switch (tar.formated.typeflag) {
@@ -129,7 +133,7 @@
 		file_header->mode |= S_IFREG;
 		break;
 	case '1':
-		bb_error_msg("Internal hard link not supported");
+//		bb_error_msg("Internal hard link not supported");
 		break;
 	case '2':
 		file_header->mode |= S_IFLNK;



More information about the busybox-cvs mailing list