]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Drop our xalloc_oversized macro in favour of gnulib's xalloc_oversized macro.
authorBruno Haible <bruno@clisp.org>
Mon, 12 Aug 2019 01:05:48 +0000 (03:05 +0200)
committerBruno Haible <bruno@clisp.org>
Mon, 12 Aug 2019 01:05:48 +0000 (03:05 +0200)
* gnulib-local/lib/xalloc.h: Include xalloc-oversized.h.
(xalloc_oversized): Remove macro.
* gnulib-local/modules/xalloc (Depends-on): Add 'xalloc-oversized'.

gnulib-local/lib/xalloc.h
gnulib-local/modules/xalloc

index c4ba23c4127d022c3f8bda2950b50dd5f153ea7c..e4fb28866af97380c1c69ac31ce041f8731e44b6 100644 (file)
@@ -1,5 +1,5 @@
 /* malloc with out of memory checking.
-   Copyright (C) 2001-2004, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2019 Free Software Foundation, Inc.
    Written by Bruno Haible <haible@clisp.cons.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
@@ -20,6 +20,8 @@
 
 #include <stddef.h>
 
+#include "xalloc-oversized.h"
+
 
 #ifdef __cplusplus
 extern "C" {
@@ -134,22 +136,6 @@ extern "C" {
 extern char *xstrdup (const char *string);
 
 
-/* Return 1 if an array of N objects, each of size S, cannot exist due
-   to size arithmetic overflow.  S must be positive and N must be
-   nonnegative.  This is a macro, not an inline function, so that it
-   works correctly even when SIZE_MAX < N.
-
-   By gnulib convention, SIZE_MAX represents overflow in size
-   calculations, so the conservative dividend to use here is
-   SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value.
-   However, malloc (SIZE_MAX) fails on all known hosts where
-   sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for
-   exactly-SIZE_MAX allocations on such hosts; this avoids a test and
-   branch when S is known to be 1.  */
-# define xalloc_oversized(n, s) \
-    ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n))
-
-
 #ifdef __cplusplus
 }
 #endif
index 7a5b5866c953531040eba99297d8200b1430cb20..56734b9fa171fd244a8b083bbed51ab388c3210a 100644 (file)
@@ -10,6 +10,7 @@ Depends-on:
 error
 gettext-h
 stdlib
+xalloc-oversized
 
 configure.ac: