comparison lib/regex_internal.c @ 17235:e101c2620c25

regex: port to hosts where malloc (0) == NULL Reported by Aharon Robbins in <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>. * lib/regex_internal.c (re_node_set_alloc): Don't assume that malloc (0) yields nonnull. * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro. * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC. * modules/regex (Files): Add m4/eealloc.m4.
author Paul Eggert <eggert@cs.ucla.edu>
date Sat, 29 Dec 2012 22:56:31 -0800
parents b6b08f30c630
children 551d91bcca65
comparison
equal deleted inserted replaced
17234:de636633c6cd 17235:e101c2620c25
972 re_node_set_alloc (re_node_set *set, Idx size) 972 re_node_set_alloc (re_node_set *set, Idx size)
973 { 973 {
974 set->alloc = size; 974 set->alloc = size;
975 set->nelem = 0; 975 set->nelem = 0;
976 set->elems = re_malloc (Idx, size); 976 set->elems = re_malloc (Idx, size);
977 if (BE (set->elems == NULL, 0)) 977 if (BE (set->elems == NULL, 0) && (MALLOC_0_IS_NONNULL || size != 0))
978 return REG_ESPACE; 978 return REG_ESPACE;
979 return REG_NOERROR; 979 return REG_NOERROR;
980 } 980 }
981 981
982 static reg_errcode_t 982 static reg_errcode_t