1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-08 17:22:05 +03:00

reallocarray: minor fixes

* doc/glibc-functions/reallocarray.texi: Update version numbers.
* m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
* modules/reallocarray (License): Change from GPL to LGPL.
* tests/test-reallocarray.c (main): Fix ENOMEM typo.
Indent properly and don't use tabs.
This commit is contained in:
Paul Eggert
2017-08-13 10:55:55 -07:00
parent 98756762a3
commit aa459ef443
5 changed files with 29 additions and 18 deletions

View File

@@ -1,3 +1,12 @@
2017-08-13 Paul Eggert <eggert@cs.ucla.edu>
reallocarray: minor fixes
* doc/glibc-functions/reallocarray.texi: Update version numbers.
* m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
* modules/reallocarray (License): Change from GPL to LGPL.
* tests/test-reallocarray.c (main): Fix ENOMEM typo.
Indent properly and don't use tabs.
2017-08-13 Darshit Shah <darnir@gnu.org> 2017-08-13 Darshit Shah <darnir@gnu.org>
reallocarray: New module reallocarray: New module

View File

@@ -12,9 +12,9 @@ Portability problems fixed by Gnulib:
@itemize @itemize
@item @item
This function is missing on many platforms: This function is missing on many platforms:
glibc 2.25, macOS 10.13, FreeBSD 11.0, NetBSD 7.1, OpenBSD 5.5, Minix 3.1.8, glibc 2.25, macOS 10.13, FreeBSD 10, NetBSD 7, OpenBSD 5.5, Minix 3.3.0,
AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin, mingw, AIX 7.2, HP-UX 11, IRIX, Solaris 11.3, Tru64, Cygwin, mingw,
MSVC 14, Interix 3.5, BeOS. MSVC 14, Interix, BeOS.
@end itemize @end itemize
Portability problems not fixed by Gnulib: Portability problems not fixed by Gnulib:

View File

@@ -1,4 +1,4 @@
# reallocarray.m4 serial 1 # reallocarray.m4 serial 2
dnl Copyright (C) 2017 Free Software Foundation, Inc. dnl Copyright (C) 2017 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
@@ -6,12 +6,12 @@ dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_FUNC_REALLOCARRAY], AC_DEFUN([gl_FUNC_REALLOCARRAY],
[ [
dnl Persuade glibc <stdlib.h> to declare reallocarray(). dnl Persuade glibc <stdlib.h> to declare reallocarray.
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_CHECK_FUNCS([reallocarray]) AC_CHECK_FUNCS([reallocarray])
if test $ac_cv_func_reallocarray = no; then if test "$ac_cv_func_reallocarray" = no; then
HAVE_REALLOCARRAY=0 HAVE_REALLOCARRAY=0
fi fi
]) ])

View File

@@ -1,5 +1,5 @@
Description: Description:
reallocarray() function that is glibc compatible. reallocarray function that is glibc compatible.
Files: Files:
lib/reallocarray.c lib/reallocarray.c
@@ -26,7 +26,7 @@ Include:
<stdlib.h> <stdlib.h>
License: License:
GPLv3+ LGPL
Maintainer: Maintainer:
all all

View File

@@ -26,16 +26,18 @@ int
main () main ()
{ {
size_t n; size_t n;
/* Check that reallocarray fails when requested to allocate a block of memory
larger than SIZE_MAX bytes. */ /* Check that reallocarray fails when requested to allocate a block
of memory larger than SIZE_MAX bytes. */
for (n = 2; n != 0; n <<= 1) for (n = 2; n != 0; n <<= 1)
{ {
if (reallocarray (NULL, (size_t) -1 / n + 1, n)) if (reallocarray (NULL, (size_t) -1 / n + 1, n))
return 1; return 1;
/* Ensure that errno is correctly set */ /* Ensure that errno is correctly set. */
if (!errno == ENOMEM) if (errno != ENOMEM)
return 1; return 1;
} }
return 0; return 0;
} }