Lines Matching refs:names
37 size_t nnames; /* Number of names. */
38 char const **names; /* Sorted names of files in dir, followed by 0. */
39 char *data; /* Allocated storage for file names. */
42 /* Whether file names in directories should be compared with
53 /* Read a directory and get its vector of names. */
62 char const **names;
71 dirdata->names = 0;
131 /* Create the `names' table from the `data' table. */
132 if (PTRDIFF_MAX / sizeof *names - 1 <= nnames)
134 dirdata->names = names = xmalloc ((nnames + 1) * sizeof *names);
138 names[i] = data;
141 names[nnames] = 0;
145 /* Compare file names, returning a value compatible with strcmp. */
160 error (0, errno, _("cannot compare file names `%s' and `%s'"),
192 These names are relative to the original working directory.
227 char const **volatile names[2];
228 names[0] = dirdata[0].names;
229 names[1] = dirdata[1].names;
238 qsort (names[i], dirdata[i].nnames, sizeof *dirdata[i].names,
242 ignore all file names less than the specified starting name. */
246 while (*names[0] && compare_names (*names[0], starting_file) < 0)
247 names[0]++;
248 while (*names[1] && compare_names (*names[1], starting_file) < 0)
249 names[1]++;
253 while (*names[0] || *names[1])
258 int nameorder = (!*names[0] ? 1 : !*names[1] ? -1
259 : compare_names (*names[0], *names[1]));
261 0 < nameorder ? 0 : *names[0]++,
262 nameorder < 0 ? 0 : *names[1]++);
270 if (dirdata[i].names)
271 free (dirdata[i].names);