]> Savannah Git Hosting - gnulib.git/commitdiff
linebuffer: prefer idx_t for indexes
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 12 Jun 2021 00:18:57 +0000 (17:18 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 12 Jun 2021 00:20:12 +0000 (17:20 -0700)
* lib/linebuffer.c (readlinebuffer_delim):
* lib/linebuffer.h (struct linebuffer):
Prefer idx_t to size_t for indexes, using idx_t-related allocators.
* lib/linebuffer.h: Include idx.h.
* modules/linebuffer (Depends-on): Add idx.

ChangeLog
lib/linebuffer.c
lib/linebuffer.h
modules/linebuffer

index 84ccb3645187a6667556056a631d3bc3dcdf603d..5dd6384568d8b50e48151b1ee29fd6e4f6042f94 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,8 @@
        * lib/exclude.c (struct exclude_pattern, free_exclude_segment)
        (file_pattern_matches, add_exclude, add_exclude_fp):
        * lib/getusershell.c (line_size, readname):
+       * lib/linebuffer.c (readlinebuffer_delim):
+       * lib/linebuffer.h (struct linebuffer):
        Prefer idx_t to size_t for indexes, and use idx_t-related allocators.
        * lib/basename.c: Do not include xstrndup.h.
        (basename): Simplify by always using memcpy.
@@ -24,6 +26,7 @@
        (x2nrealloc): Moved here from xalloc.h.
        * modules/xalloc (Depends-on): Add ialloc.
        * modules/dirname (Depends-on): Removbe xstrndup.
+       * modules/linebuffer (Depends-on): Add idx.
 
        ialloc: new module
        * lib/ialloc.c, lib/ialloc.h, modules/ialloc: New files.
index 10b0428d03a29d204eaa22a554a60e84480f24f6..5b579019feb54fb91eea8095f402d0b50c8b8f4c 100644 (file)
@@ -80,8 +80,8 @@ readlinebuffer_delim (struct linebuffer *linebuffer, FILE *stream,
         }
       if (p == end)
         {
-          size_t oldsize = linebuffer->size;
-          buffer = x2realloc (buffer, &linebuffer->size);
+          idx_t oldsize = linebuffer->size;
+          buffer = xpalloc (buffer, &linebuffer->size, 1, -1, 1);
           p = buffer + oldsize;
           linebuffer->buffer = buffer;
           end = buffer + linebuffer->size;
index 691a4c2f8b1f54fb02b82de3b91259b57d37b53b..5fa5ad2fe70680d5af8201d685b5fa7981b84d94 100644 (file)
 #if !defined LINEBUFFER_H
 # define LINEBUFFER_H
 
+# include "idx.h"
 # include <stdio.h>
 
 /* A 'struct linebuffer' holds a line of text. */
 
 struct linebuffer
 {
-  size_t size;                  /* Allocated. */
-  size_t length;                /* Used. */
+  idx_t size;                  /* Allocated. */
+  idx_t length;                /* Used. */
   char *buffer;
 };
 
index 1444ff0741f4626a8b9076e796b76524ce8d694b..4ddd3c38edbace8639700781a3bb4acd61c0c288 100644 (file)
@@ -6,6 +6,7 @@ lib/linebuffer.h
 lib/linebuffer.c
 
 Depends-on:
+idx
 xalloc
 
 configure.ac:
@@ -21,4 +22,3 @@ GPL
 
 Maintainer:
 Jim Meyering
-