- /* FIXME: This + 2 allocation might serve no purpose. */
-
- while (character = getc (name_file),
- character != EOF && character != filename_terminator)
- {
- if (counter == name_buffer_length)
- {
- name_buffer_length += NAME_FIELD_SIZE;
- name_buffer = xrealloc (name_buffer, name_buffer_length + 2);
- }
- name_buffer[counter++] = character;
- }
-
- if (counter == 0 && character == EOF)
- return 0;
-
- if (counter == name_buffer_length)
- {
- name_buffer_length += NAME_FIELD_SIZE;
- name_buffer = xrealloc (name_buffer, name_buffer_length + 2);
- }
- name_buffer[counter] = '\0';
-
- return 1;
-}
-
-/*------------------------------------------------------------------------.
-| Get the next name from ARGV or the file of names. Result is in static |
-| storage and can't be relied upon across two calls. |
-| |
-| If CHANGE_DIRS is true, treat a filename of the form "-C" as meaning |
-| that the next filename is the name of a directory to change to. If |
-| `filename_terminator' is NUL, CHANGE_DIRS is effectively always false. |
-`------------------------------------------------------------------------*/
-
-char *
-name_next (int change_dirs)
+ Entries of type NELT_FMASK cause updates of the matching_flags
+ value. */
+static struct name_elt *
+name_next_elt (int change_dirs)