* 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 | 3 +++ lib/linebuffer.c | 4 ++-- lib/linebuffer.h | 5 +++-- modules/linebuffer | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 84ccb3645..5dd638456 100644 --- 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. diff --git a/lib/linebuffer.c b/lib/linebuffer.c index 10b0428d0..5b579019f 100644 --- a/lib/linebuffer.c +++ b/lib/linebuffer.c @@ -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; diff --git a/lib/linebuffer.h b/lib/linebuffer.h index 691a4c2f8..5fa5ad2fe 100644 --- a/lib/linebuffer.h +++ b/lib/linebuffer.h @@ -19,14 +19,15 @@ #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; }; diff --git a/modules/linebuffer b/modules/linebuffer index 1444ff074..4ddd3c38e 100644 --- a/modules/linebuffer +++ b/modules/linebuffer @@ -6,6 +6,7 @@ lib/linebuffer.h lib/linebuffer.c Depends-on: +idx xalloc configure.ac: @@ -21,4 +22,3 @@ GPL Maintainer: Jim Meyering - -- 2.30.2