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:
@@ -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
|
||||||
|
@@ -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:
|
||||||
|
@@ -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
|
||||||
])
|
])
|
||||||
|
@@ -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
|
||||||
|
@@ -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. */
|
|
||||||
for (n = 2; n != 0; n <<= 1)
|
|
||||||
{
|
|
||||||
if (reallocarray (NULL, (size_t) -1 / n + 1, n))
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
/* Ensure that errno is correctly set */
|
/* Check that reallocarray fails when requested to allocate a block
|
||||||
if (!errno == ENOMEM)
|
of memory larger than SIZE_MAX bytes. */
|
||||||
return 1;
|
for (n = 2; n != 0; n <<= 1)
|
||||||
}
|
{
|
||||||
|
if (reallocarray (NULL, (size_t) -1 / n + 1, n))
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
/* Ensure that errno is correctly set. */
|
||||||
|
if (errno != ENOMEM)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user