bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 5/6] regex: port better to AIX extensions


From: Paul Eggert
Subject: [PATCH 5/6] regex: port better to AIX extensions
Date: Tue, 5 Nov 2024 22:51:26 -0800

Also, switch from eealloc.m4 to malloc.m4 to determine
whether malloc (0) returns nonnull.
* lib/regex_internal.c (re_node_set_alloc):
Remove special case for malloc (0).
* lib/regex_internal.h (MALLOC_0_IS_NONNULL): Remove.
* m4/regex.m4 (gl_PREREQ_REGEX): Do not require gl_EEMALLOC.
* modules/regex (Files): Remove m4/eealloc.m4, m4/malloc.m4.
(Depends-on): Add malloc-gnu.
---
 ChangeLog            | 10 ++++++++++
 lib/regex_internal.c |  3 +--
 lib/regex_internal.h |  6 ------
 m4/regex.m4          |  3 +--
 modules/regex        |  3 +--
 5 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6c316acf90..583884d1dc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2024-11-05  Paul Eggert  <eggert@cs.ucla.edu>
 
+       regex: port better to AIX extensions
+       Also, switch from eealloc.m4 to malloc.m4 to determine
+       whether malloc (0) returns nonnull.
+       * lib/regex_internal.c (re_node_set_alloc):
+       Remove special case for malloc (0).
+       * lib/regex_internal.h (MALLOC_0_IS_NONNULL): Remove.
+       * m4/regex.m4 (gl_PREREQ_REGEX): Do not require gl_EEMALLOC.
+       * modules/regex (Files): Remove m4/eealloc.m4, m4/malloc.m4.
+       (Depends-on): Add malloc-gnu.
+
        malloca: port better to AIX extensions
        Also, switch from eealloc.m4 to malloc.m4 to determine
        whether malloc (0) returns nonnull.
diff --git a/lib/regex_internal.c b/lib/regex_internal.c
index 8cd096ebcf..6ccf701f26 100644
--- a/lib/regex_internal.c
+++ b/lib/regex_internal.c
@@ -937,8 +937,7 @@ re_node_set_alloc (re_node_set *set, Idx size)
   set->alloc = size;
   set->nelem = 0;
   set->elems = re_malloc (Idx, size);
-  if (__glibc_unlikely (set->elems == NULL)
-      && (MALLOC_0_IS_NONNULL || size != 0))
+  if (__glibc_unlikely (set->elems == NULL))
     return REG_ESPACE;
   return REG_NOERROR;
 }
diff --git a/lib/regex_internal.h b/lib/regex_internal.h
index 6165cb17c7..dfc5d34cba 100644
--- a/lib/regex_internal.h
+++ b/lib/regex_internal.h
@@ -436,12 +436,6 @@ typedef struct re_dfa_t re_dfa_t;
 #define re_string_skip_bytes(pstr,idx) ((pstr)->cur_idx += (idx))
 #define re_string_set_index(pstr,idx) ((pstr)->cur_idx = (idx))
 
-#ifdef _LIBC
-# define MALLOC_0_IS_NONNULL 1
-#elif !defined MALLOC_0_IS_NONNULL
-# define MALLOC_0_IS_NONNULL 0
-#endif
-
 #ifndef MAX
 # define MAX(a,b) ((a) < (b) ? (b) : (a))
 #endif
diff --git a/m4/regex.m4 b/m4/regex.m4
index 041b46d244..1060a8e898 100644
--- a/m4/regex.m4
+++ b/m4/regex.m4
@@ -1,5 +1,5 @@
 # regex.m4
-# serial 77
+# serial 78
 dnl Copyright (C) 1996-2001, 2003-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -392,7 +392,6 @@ AC_DEFUN([gl_PREREQ_REGEX],
   AC_REQUIRE([AC_C_INLINE])
   AC_REQUIRE([AC_C_RESTRICT])
   AC_REQUIRE([AC_TYPE_MBSTATE_T])
-  AC_REQUIRE([gl_EEMALLOC])
   AC_CHECK_HEADERS([libintl.h])
   AC_CHECK_FUNCS_ONCE([isblank iswctype])
   AC_CHECK_DECLS([isblank], [], [], [[#include <ctype.h>]])
diff --git a/modules/regex b/modules/regex
index ecbfaf4156..c2264a52bd 100644
--- a/modules/regex
+++ b/modules/regex
@@ -11,8 +11,6 @@ lib/regex_internal.c
 lib/regex_internal.h
 lib/regexec.c
 lib/regcomp.c
-m4/eealloc.m4
-m4/malloc.m4
 m4/regex.m4
 m4/mbstate_t.m4
 
@@ -31,6 +29,7 @@ langinfo                [test $ac_use_included_regex = yes]
 libc-config             [test $ac_use_included_regex = yes]
 limits-h                [test $ac_use_included_regex = yes]
 lock                    [test $ac_use_included_regex = yes]
+malloc-gnu              [test $ac_use_included_regex = yes]
 memcmp                  [test $ac_use_included_regex = yes]
 memmove                 [test $ac_use_included_regex = yes]
 mbrtowc                 [test $ac_use_included_regex = yes]
-- 
2.43.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]