From: Paul Eggert Date: Sat, 12 Jun 2021 00:18:57 +0000 (-0700) Subject: readutmp: prefer idx_t for indexes X-Git-Tag: v1.0~2821 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=9a32e79bad30024f00dafcc4b4bbf7a7a69d558e;p=gnulib.git readutmp: prefer idx_t for indexes * lib/readutmp.c (read_utmp): Prefer idx_t to size_t for indexes, using idx_t-related allocators. --- diff --git a/ChangeLog b/ChangeLog index 6e2c980144..be79b866c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,7 @@ * lib/linebuffer.c (readlinebuffer_delim): * lib/linebuffer.h (struct linebuffer): * lib/readtokens.c (readtoken, readtokens): + * lib/readutmp.c (read_utmp): 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. diff --git a/lib/readutmp.c b/lib/readutmp.c index 73db856c5d..1035a2b8ad 100644 --- a/lib/readutmp.c +++ b/lib/readutmp.c @@ -91,8 +91,8 @@ int read_utmp (char const *file, size_t *n_entries, STRUCT_UTMP **utmp_buf, int options) { - size_t n_read = 0; - size_t n_alloc = 0; + idx_t n_read = 0; + idx_t n_alloc = 0; STRUCT_UTMP *utmp = NULL; STRUCT_UTMP *u; @@ -108,7 +108,7 @@ read_utmp (char const *file, size_t *n_entries, STRUCT_UTMP **utmp_buf, if (desirable_utmp_entry (u, options)) { if (n_read == n_alloc) - utmp = x2nrealloc (utmp, &n_alloc, sizeof *utmp); + utmp = xpalloc (utmp, &n_alloc, 1, -1, sizeof *utmp); utmp[n_read++] = *u; } @@ -127,8 +127,8 @@ int read_utmp (char const *file, size_t *n_entries, STRUCT_UTMP **utmp_buf, int options) { - size_t n_read = 0; - size_t n_alloc = 0; + idx_t n_read = 0; + idx_t n_alloc = 0; STRUCT_UTMP *utmp = NULL; int saved_errno; FILE *f = fopen (file, "re"); @@ -139,7 +139,7 @@ read_utmp (char const *file, size_t *n_entries, STRUCT_UTMP **utmp_buf, for (;;) { if (n_read == n_alloc) - utmp = x2nrealloc (utmp, &n_alloc, sizeof *utmp); + utmp = xpalloc (utmp, &n_alloc, 1, -1, sizeof *utmp); if (fread (&utmp[n_read], sizeof utmp[n_read], 1, f) == 0) break; n_read += desirable_utmp_entry (&utmp[n_read], options); diff --git a/lib/readutmp.h b/lib/readutmp.h index 5971e7fd82..a3a7eda01c 100644 --- a/lib/readutmp.h +++ b/lib/readutmp.h @@ -212,6 +212,8 @@ enum }; char *extract_trimmed_name (const STRUCT_UTMP *ut); + +/* FIXME: This header should use idx_t, not size_t. */ int read_utmp (char const *file, size_t *n_entries, STRUCT_UTMP **utmp_buf, int options);