From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 760F6158003 for ; Sun, 26 Dec 2021 14:00:00 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 774C92BC025; Sun, 26 Dec 2021 13:59:58 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E1E5B2BC025 for ; Sun, 26 Dec 2021 13:59:56 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2E9FB342E9A for ; Sun, 26 Dec 2021 13:59:55 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 83C0729 for ; Sun, 26 Dec 2021 13:59:53 +0000 (UTC) From: "Fabian Groffen" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Fabian Groffen" Message-ID: <1640526492.19df31a23a3a5ab08abde6cea7f4b8bfd44fd07c.grobian@gentoo> Subject: [gentoo-commits] proj/portage-utils:master commit in: libq/ X-VCS-Repository: proj/portage-utils X-VCS-Files: libq/scandirat.c libq/scandirat.h X-VCS-Directories: libq/ X-VCS-Committer: grobian X-VCS-Committer-Name: Fabian Groffen X-VCS-Revision: 19df31a23a3a5ab08abde6cea7f4b8bfd44fd07c X-VCS-Branch: master Date: Sun, 26 Dec 2021 13:59:53 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 037f977e-8652-44a4-ba36-9d25d7789223 X-Archives-Hash: 5f821e8a619102178fb99c67232f4994 commit: 19df31a23a3a5ab08abde6cea7f4b8bfd44fd07c Author: Fabian Groffen gentoo org> AuthorDate: Sun Dec 26 13:48:12 2021 +0000 Commit: Fabian Groffen gentoo org> CommitDate: Sun Dec 26 13:48:12 2021 +0000 URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=19df31a2 libq/scandirat: add filter_self_parent func Signed-off-by: Fabian Groffen gentoo.org> libq/scandirat.c | 18 +++++++++++++++--- libq/scandirat.h | 9 +++++++-- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/libq/scandirat.c b/libq/scandirat.c index f28ba0d..ec4b691 100644 --- a/libq/scandirat.c +++ b/libq/scandirat.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2019 Gentoo Foundation + * Copyright 2005-2021 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 * * Copyright 2005-2010 Ned Ludd - @@ -87,9 +87,21 @@ scandir_free(struct dirent **de, int cnt) } int -filter_hidden(const struct dirent *dentry) +filter_hidden(const struct dirent *de) { - if (dentry->d_name[0] == '.') + if (de->d_name[0] == '.') return 0; return 1; } + +int +filter_self_parent(const struct dirent *de) +{ + if (de->d_name[0] == '.' && + (de->d_name[1] == '\0' || + (de->d_name[1] == '.' && + de->d_name[2] == '\0'))) + return 0; + + return 1; +} diff --git a/libq/scandirat.h b/libq/scandirat.h index 950cbb1..1ac2b50 100644 --- a/libq/scandirat.h +++ b/libq/scandirat.h @@ -1,6 +1,10 @@ /* - * Copyright 2005-2019 Gentoo Foundation + * Copyright 2005-2021 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 + * + * Copyright 2005-2010 Ned Ludd - + * Copyright 2005-2014 Mike Frysinger - + * Copyright 2021- Fabian Groffen - */ #ifndef _SCANDIRAT_H @@ -19,6 +23,7 @@ int scandirat( #endif void scandir_free(struct dirent **de, int cnt); -int filter_hidden(const struct dirent *dentry); +int filter_hidden(const struct dirent *de); +int filter_self_parent(const struct dirent *de); #endif