summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2003-08-01 06:38:15 +0000
committerJim Meyering <jim@meyering.net>2003-08-01 06:38:15 +0000
commitecc4d8f34d0ad038946fda9ca63fdb2636878441 (patch)
tree2e4d15c3f9fe388b7ae22a9fe4eed3ac9f2d5fb0 /lib
parent85dfddc659eacb7bc1402168bb16cbd578b0e87e (diff)
downloadcoreutils-ecc4d8f34d0ad038946fda9ca63fdb2636878441.tar.xz
.
Diffstat (limited to 'lib')
-rw-r--r--lib/bumpalloc.h63
1 files changed, 0 insertions, 63 deletions
diff --git a/lib/bumpalloc.h b/lib/bumpalloc.h
deleted file mode 100644
index 39ea7206e..000000000
--- a/lib/bumpalloc.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* BUMP_ALLOC macro - increase table allocation by one element.
- Copyright (C) 1990, 1991, 1993, 1998, 2000, 2003 Free Software Foundation, Inc.
- François Pinard <pinard@iro.umontreal.ca>, 1990.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/*-------------------------------------------------------------------------.
-| Bump the allocation of the array pointed to by TABLE whenever required. |
-| The table already has already COUNT elements in it, this macro ensure it |
-| has enough space to accommodate at least one more element. Space is |
-| allocated (2 ^ EXPONENT) elements at a time. Each element of the array |
-| is of type TYPE. |
-`-------------------------------------------------------------------------*/
-
-/* Routines `xmalloc' and `xrealloc' are called to do the actual memory
- management. This implies that the program will abort with a "memory
- exhausted" error if any problem arise.
-
- To work correctly, at least EXPONENT and TYPE should always be the
- same for all uses of this macro for any given TABLE. A secure way to
- achieve this is to never use this macro directly, but use it to define
- other macros, which would then be TABLE-specific.
-
- The first time through, COUNT is usually zero. Note that COUNT is not
- updated by this macro, but it should be update elsewhere, later. This
- is convenient, because it allows TABLE[COUNT] to refer to the new
- element at the end. Once its construction is completed, COUNT++ will
- record it in the table. Calling this macro several times in a row
- without updating COUNT is a bad thing to do. */
-
-#define BUMP_ALLOC(Table, Count, Exponent, Type) \
- BUMP_ALLOC_WITH_SIZE ((Table), (Count), (Exponent), Type, sizeof (Type))
-
-/* In cases `sizeof TYPE' would not always yield the correct value for
- the size of each element entry, this macro accepts a supplementary
- SIZE argument. The EXPONENT, TYPE and SIZE parameters should still
- have the same value for all macro calls related to a specific TABLE. */
-
-#define BUMP_ALLOC_WITH_SIZE(Table, Count, Exponent, Type, Size) \
- do \
- { \
- if (((Count) & (~(~0 << (Exponent)))) == 0) \
- { \
- if ((Count) == 0) \
- (Table) = xmalloc ((1 << (Exponent)) * (Size)); \
- else \
- (Table) = \
- xrealloc ((Table), ((Count) + (1 << (Exponent))) * (Size)); \
- } \
- } \
- while (0)