From 0b91f42f58782779250590bad25a5beeef5e07ca Mon Sep 17 00:00:00 2001 From: Marco Sirabella Date: Sun, 24 Mar 2024 16:41:13 -0400 Subject: [PATCH] * src/arscan.c (ar_name_equal): Support GNU ar's -P option. --- src/arscan.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/arscan.c b/src/arscan.c index 00225410..eed90c80 100644 --- a/src/arscan.c +++ b/src/arscan.c @@ -852,6 +852,11 @@ ar_name_equal (const char *name, const char *mem, int truncated) { const char *p; + /* GNU ar allows -P to preserve parent paths, so test the literal name + before stripping off the directory. */ + if (streq (name, mem)) + return 1; + p = strrchr (name, '/'); if (p != 0) name = p + 1;