blob: 49322712ac227f29b67df7fe6c4a56d38eaf06b9 [file] [log] [blame]
From 51d98495d1aac00970d791f064e83ca762bf81c7 Mon Sep 17 00:00:00 2001
From: Zack Weinberg <zackw@panix.com>
Date: Sun, 2 Apr 2023 10:43:51 -0400
Subject: [PATCH 10/29] AC_TYPE_UID_T: Rewrite using AC_CHECK_TYPE.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
AC_TYPE_UID_T uses AC_EGREP_HEADER to search sys/types.h for
occurrences of the string uid_t and, if found, assumes both
uid_t and gid_t are available. This would be better done using
a pair of AC_CHECK_TYPE operations.
I also converted two uses of old-style AC_CHECK_TYPE, immediately
below, to new-style. (There are probably other old-style uses in
this file, I only did the ones I happened to see.)
* lib/autoconf/types.m4 (AC_TYPE_UID_T): Check for uid_t and gid_t,
separately, using AC_CHECK_TYPE, instead of grepping sys/types.h.
(AC_TYPE_SIZE_T, AC_TYPE_SSIZE_T): Use new-style AC_CHECK_TYPE.
Upstream-Status: Backport
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
lib/autoconf/types.m4 | 30 +++++++++++++++++-------------
1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4
index ebac0cf6d..ef2456135 100644
--- a/lib/autoconf/types.m4
+++ b/lib/autoconf/types.m4
@@ -589,25 +589,29 @@ AC_DEFUN([AC_TYPE_MBSTATE_T],
# AC_TYPE_UID_T
# -------------
-# FIXME: Rewrite using AC_CHECK_TYPE.
AN_IDENTIFIER([gid_t], [AC_TYPE_UID_T])
AN_IDENTIFIER([uid_t], [AC_TYPE_UID_T])
AC_DEFUN([AC_TYPE_UID_T],
-[AC_CACHE_CHECK(for uid_t in sys/types.h, ac_cv_type_uid_t,
-[AC_EGREP_HEADER(uid_t, sys/types.h,
- ac_cv_type_uid_t=yes, ac_cv_type_uid_t=no)])
-if test $ac_cv_type_uid_t = no; then
- AC_DEFINE(uid_t, int, [Define to 'int' if <sys/types.h> doesn't define.])
- AC_DEFINE(gid_t, int, [Define to 'int' if <sys/types.h> doesn't define.])
-fi
-])
-
-
+[AC_CHECK_TYPE([uid_t], [],
+ [AC_DEFINE([uid_t], [int],
+ [Define as 'int' if <sys/types.h> doesn't define.])])
+AC_CHECK_TYPE([gid_t], [],
+ [AC_DEFINE([gid_t], [int],
+ [Define as 'int' if <sys/types.h> doesn't define.])])])
+
+# This should be obsoleted, size_t is in C90.
AN_IDENTIFIER([size_t], [AC_TYPE_SIZE_T])
-AC_DEFUN([AC_TYPE_SIZE_T], [AC_CHECK_TYPE(size_t, unsigned int)])
+AC_DEFUN([AC_TYPE_SIZE_T],
+[AC_CHECK_TYPE([size_t], [],
+ [AC_DEFINE([size_t], [unsigned int],
+ [Define as 'unsigned int' if <stddef.h> doesn't define.])])])
AN_IDENTIFIER([ssize_t], [AC_TYPE_SSIZE_T])
-AC_DEFUN([AC_TYPE_SSIZE_T], [AC_CHECK_TYPE(ssize_t, int)])
+AC_DEFUN([AC_TYPE_SSIZE_T],
+[AC_CHECK_TYPE([ssize_t], [],
+ [AC_DEFINE([ssize_t], [int],
+ [Define as 'int' if <sys/types.h> doesn't define.])])])
+
AN_IDENTIFIER([pid_t], [AC_TYPE_PID_T])
AC_DEFUN([AC_TYPE_PID_T],
--
2.41.0