* lib/getusershell.c (line_size, readname): Prefer idx_t to size_t for indexes, using idx_t-related allocators. --- ChangeLog | 1 + lib/getusershell.c | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 1fca94c03..84ccb3645 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ (icatalloc, enlist, allocmust, dfamust): * lib/exclude.c (struct exclude_pattern, free_exclude_segment) (file_pattern_matches, add_exclude, add_exclude_fp): + * lib/getusershell.c (line_size, readname): 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/getusershell.c b/lib/getusershell.c index be8a06845..32acd76c0 100644 --- a/lib/getusershell.c +++ b/lib/getusershell.c @@ -43,7 +43,7 @@ # include "unlocked-io.h" #endif -static size_t readname (char **, size_t *, FILE *); +static idx_t readname (char **, idx_t *, FILE *); #if ! defined ADDITIONAL_DEFAULT_SHELLS && defined __MSDOS__ # define ADDITIONAL_DEFAULT_SHELLS \ @@ -70,7 +70,7 @@ static FILE *shellstream = NULL; static char *line = NULL; /* Number of bytes allocated for 'line'. */ -static size_t line_size = 0; +static idx_t line_size = 0; /* Return an entry from the shells file, ignoring comment lines. If the file doesn't exist, use the list in DEFAULT_SHELLS (above). @@ -137,8 +137,8 @@ endusershell (void) Return the number of bytes placed in *NAME if some nonempty sequence was found, otherwise 0. */ -static size_t -readname (char **name, size_t *size, FILE *stream) +static idx_t +readname (char **name, idx_t *size, FILE *stream) { int c; size_t name_index = 0; @@ -150,7 +150,7 @@ readname (char **name, size_t *size, FILE *stream) for (;;) { if (*size <= name_index) - *name = x2nrealloc (*name, size, sizeof **name); + *name = xpalloc (*name, size, 1, -1, sizeof **name); if (c == EOF || isspace (c)) break; (*name)[name_index++] = c; -- 2.30.2