summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2004-06-05 06:08:40 +0000
committerkientzle <kientzle@FreeBSD.org>2004-06-05 06:08:40 +0000
commitd1cd1e13da08cd4a8a51097403b8fd1a4bdc37dd (patch)
tree34b4b08c74521d3a06819824413238afdf3af65b /lib
parentb74d5e60b1250e6e3a52d64de4b5c632b3b13a40 (diff)
downloadFreeBSD-src-d1cd1e13da08cd4a8a51097403b8fd1a4bdc37dd.zip
FreeBSD-src-d1cd1e13da08cd4a8a51097403b8fd1a4bdc37dd.tar.gz
Pointy hat: We can't avoid a chown() call without checking both UID
and GID. Suppress a premature attempt at optimization.
Diffstat (limited to 'lib')
-rw-r--r--lib/libarchive/archive_read_extract.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libarchive/archive_read_extract.c b/lib/libarchive/archive_read_extract.c
index fc5bba2..11faedd 100644
--- a/lib/libarchive/archive_read_extract.c
+++ b/lib/libarchive/archive_read_extract.c
@@ -759,9 +759,13 @@ set_ownership(struct archive *a, struct archive_entry *entry, int flags)
gid_t gid;
/* If UID/GID are already correct, return 0. */
- /* TODO: Fix this; need to stat() to find on-disk GID <sigh> */
+ /* XXX TODO: Fix this; as written, this fails to set GID a lot.
+ * Generally, we'll need to stat() to find on-disk GID <sigh> before
+ * deciding this. */
+/*
if (a->user_uid == archive_entry_stat(entry)->st_uid)
return (0);
+*/
/* Not changed. */
if ((flags & ARCHIVE_EXTRACT_OWNER) == 0)
OpenPOWER on IntegriCloud