]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(n_tabs_allocated): New global.
authorJim Meyering <jim@meyering.net>
Sun, 4 Jan 2004 21:10:11 +0000 (21:10 +0000)
committerJim Meyering <jim@meyering.net>
Sun, 4 Jan 2004 21:10:11 +0000 (21:10 +0000)
(add_tabstop): Use x2nrealloc rather than xrealloc.

src/expand.c

index 8be52b5631dd0ddf8d0cf52dd1294ace45585116..f92dca32a727740bfaf0c5064c987731fc38aa49 100644 (file)
    allocated for the output line. */
 #define OUTPUT_BLOCK 256
 
-/* The number of bytes added at a time to the amount of memory
-   allocated for the list of tabstops. */
-#define TABLIST_BLOCK 256
-
 /* The name this program was run with. */
 char *program_name;
 
@@ -74,7 +70,8 @@ static int *tab_list;
 
 /* The index of the first invalid element of `tab_list',
    where the next element can be added. */
-static int first_free_tab;
+static size_t first_free_tab;
+static size_t n_tabs_allocated;
 
 /* Null-terminated array of input filenames. */
 static char **file_list;
@@ -142,9 +139,8 @@ add_tabstop (int tabval)
 {
   if (tabval == -1)
     return;
-  if (first_free_tab % TABLIST_BLOCK == 0)
-    tab_list = xrealloc (tab_list, (first_free_tab
-                                   + TABLIST_BLOCK * sizeof (tab_list[0])));
+  if (first_free_tab == n_tabs_allocated)
+    tab_list = x2nrealloc (tab_list, &n_tabs_allocated, sizeof *tab_list);
   tab_list[first_free_tab++] = tabval;
 }