X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fextract.c;h=c52c9ce8f13ccd24e0dc45e3da45a7633245db8b;hb=1584b72ff271e7f826dd64d7a1c7cd2f66504acb;hp=6711f8736951a3a541d85dec9c845a9bc5e38f97;hpb=065cf0958c39600f2062cbeeb5b76929d03c207b;p=chaz%2Ftar diff --git a/src/extract.c b/src/extract.c index 6711f87..c52c9ce 100644 --- a/src/extract.c +++ b/src/extract.c @@ -609,6 +609,9 @@ maybe_recoverable (char *file_name, bool regular, bool *interdir_made) switch (e) { case ELOOP: + /* With open ("symlink", O_NOFOLLOW|...), POSIX says errno == ELOOP, + but FreeBSD through at least 8.1 uses errno == EMLINK. */ + case EMLINK: if (! regular || old_files_option != OVERWRITE_OLD_FILES || dereference_option) break;