From 51d98495d1aac00970d791f064e83ca762bf81c7 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Sun, 2 Apr 2023 10:43:51 -0400 Subject: [PATCH] AC_TYPE_UID_T: Rewrite using AC_CHECK_TYPE. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 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. --- 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 ebac0cf6..ef245613 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 doesn't define.]) - AC_DEFINE(gid_t, int, [Define to 'int' if doesn't define.]) -fi -]) - - +[AC_CHECK_TYPE([uid_t], [], + [AC_DEFINE([uid_t], [int], + [Define as 'int' if doesn't define.])]) +AC_CHECK_TYPE([gid_t], [], + [AC_DEFINE([gid_t], [int], + [Define as 'int' if 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 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 doesn't define.])])]) + AN_IDENTIFIER([pid_t], [AC_TYPE_PID_T]) AC_DEFUN([AC_TYPE_PID_T], -- 2.47.2