From patchwork Sat Apr 17 03:45:20 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Weiman X-Patchwork-Id: 1904 Return-Path: Delivered-To: patchwork@archlinux.org Received: from mail.archlinux.org [95.216.189.61] by patchwork.archlinux.org with IMAP (fetchmail-6.4.18) for (single-drop); Sat, 17 Apr 2021 03:45:58 +0000 (UTC) Received: from mail.archlinux.org by mail.archlinux.org with LMTP id OPCnJfVZemBzEgQAK+/4rw (envelope-from ) for ; Sat, 17 Apr 2021 03:45:57 +0000 Received: from luna.archlinux.org (luna.archlinux.org [5.9.250.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.archlinux.org (Postfix) with ESMTPS id BDEFF502E0A; Sat, 17 Apr 2021 03:45:56 +0000 (UTC) Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 704E02C600; Sat, 17 Apr 2021 03:45:56 +0000 (UTC) Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id E4F122C5FE for ; Sat, 17 Apr 2021 03:45:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.5 (2021-03-20) on luna.archlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H4=0.001,RCVD_IN_MSPIKE_WL=0.001, T_DMARC_TESTS_FAIL=0.01 autolearn=failed autolearn_force=no version=3.4.5 X-Spam-BL-Results: [127.0.9.2] [127.0.0.19] Received: from mail.archlinux.org (mail.archlinux.org [95.216.189.61]) by luna.archlinux.org (Postfix) with ESMTPS for ; Sat, 17 Apr 2021 03:45:51 +0000 (UTC) Received: from mail.markzz.net (duna.markzz.net [209.50.56.197]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.archlinux.org (Postfix) with ESMTPS id F2034502E03 for ; Sat, 17 Apr 2021 03:45:50 +0000 (UTC) Received: from localhost.localdomain (unknown [IPv6:2601:410:81:a4a0:3489:7d93:11:f11e]) by mail.markzz.net (Postfix) with ESMTPSA id 7B10C4109ABD for ; Fri, 16 Apr 2021 23:45:46 -0400 (EDT) From: Mark Weiman To: pacman-dev@archlinux.org Date: Fri, 16 Apr 2021 23:45:20 -0400 Message-Id: <20210417034524.204755-2-mark.weiman@markzz.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210417034524.204755-1-mark.weiman@markzz.com> References: <20210416194209.191245-1-mark.weiman@markzz.com> <20210417034524.204755-1-mark.weiman@markzz.com> MIME-Version: 1.0 Subject: [pacman-dev] [PATCH 1/5] Fix check for FSSTATSTYPE X-BeenThere: pacman-dev@lists.archlinux.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Discussion list for pacman development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Discussion list for pacman development Errors-To: pacman-dev-bounces@lists.archlinux.org Sender: "pacman-dev" Authentication-Results: mail.archlinux.org; dkim=none; dmarc=none; spf=pass (mail.archlinux.org: domain of pacman-dev-bounces@lists.archlinux.org designates 5.9.250.164 as permitted sender) smtp.mailfrom=pacman-dev-bounces@lists.archlinux.org X-Rspamd-Queue-Id: BDEFF502E0A X-Spamd-Result: default: False [4.49 / 15.00]; HAS_REPLYTO(0.00)[pacman-dev@lists.archlinux.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[6]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM(0.00)[0.893]; R_MISSING_CHARSET(2.50)[]; R_SPF_ALLOW(-0.20)[+ip4:5.9.250.164]; MIME_GOOD(-0.10)[text/plain]; REPLYTO_DOM_NEQ_FROM_DOM(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[]; HAS_LIST_UNSUB(-0.01)[]; RCPT_COUNT_ONE(0.00)[1]; TO_DN_NONE(0.00)[]; GREYLIST(0.00)[pass,body]; MID_CONTAINS_FROM(1.00)[]; MAILLIST(-0.20)[mailman]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[markzz.com]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:5.9.0.0/16, country:DE]; FROM_NEQ_ENVFROM(0.00)[mark.weiman@markzz.com,pacman-dev-bounces@lists.archlinux.org]; FORGED_SENDER_MAILLIST(0.00)[] X-Rspamd-Server: mail.archlinux.org On FreeBSD, both `struct statvfs` and `struct statfs` satisfy the conditions where the `f_flag` and `f_flags` fields are present in both respectively. This patch accomplishes a couple of things: 1. Adds a check for `f_mntonname` in both structs and makes a decision to choose statfs if the field is not present in statvfs, but is in statfs. 2. Corrects a small error where the values of those checks are just checked for their presence and not whether its true or false. Signed-off-by: Mark Weiman --- meson.build | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 579ff2ed..483c4fbd 100644 --- a/meson.build +++ b/meson.build @@ -154,6 +154,9 @@ foreach member : [ ['struct statvfs', 'f_flag', '''#include '''], ['struct statfs', 'f_flags', '''#include #include '''], + ['struct statvfs', 'f_mntonname', '''#include '''], + ['struct statfs', 'f_mntonname', '''#include + #include '''], ] have = cc.has_member(member[0], member[1], prefix : member[2]) conf.set('HAVE_' + '_'.join([member[0], member[1]]).underscorify().to_upper(), have) @@ -174,9 +177,13 @@ foreach type : [ endif endforeach -if conf.has('HAVE_STRUCT_STATVFS_F_FLAG') +if conf.get('HAVE_STRUCT_STATVFS_F_FLAG', false) conf.set('FSSTATSTYPE', 'struct statvfs') -elif conf.has('HAVE_STRUCT_STATFS_F_FLAGS') +elif conf.get('HAVE_STRUCT_STATFS_F_FLAGS', false) + conf.set('FSSTATSTYPE', 'struct statfs') +endif + +if not conf.get('HAVE_STRUCT_STATVFS_F_MNTONNAME', false) and conf.get('HAVE_STRUCT_STATFS_F_MNTONNAME', false) conf.set('FSSTATSTYPE', 'struct statfs') endif