symlink-follow.diff [plain text]
--- libarchive/archive_write_disk.c.orig 2008-11-11 15:28:22.000000000 -0800
+++ libarchive/archive_write_disk.c 2008-11-11 19:31:00.000000000 -0800
@@ -1391,6 +1391,9 @@
* so we can overwrite it with the
* item being extracted.
*/
+#ifdef __APPLE__
+ break;
+#else
if (unlink(a->name)) {
archive_set_error(&a->archive, errno,
"Could not remove symlink %s",
@@ -1413,6 +1416,7 @@
/* Symlink gone. No more problem! */
pn[0] = c;
return (0);
+#endif
} else if (a->flags & ARCHIVE_EXTRACT_UNLINK) {
/* User asked us to remove problems. */
if (unlink(a->name) != 0) {