(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.
# 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 \
static char *line = NULL;
/* Number of bytes allocated for 'line'. */
-static size_t line_size = 0;
+static idx_t line_size = 0;
\f
/* Return an entry from the shells file, ignoring comment lines.
If the file doesn't exist, use the list in DEFAULT_SHELLS (above).
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;
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;