#include "dirname.h" /* for strip_trailing_slashes */
#include "error.h"
#include "exclude.h"
-#include "fts_.h"
#include "hash.h"
#include "human.h"
#include "quote.h"
#include "quotearg.h"
#include "same.h"
+#include "xfts.h"
#include "xstrtol.h"
/* The official name of this program (e.g., no `g' prefix). */
{
int fail = 0;
- FTS *fts = fts_open (files, bit_flags, NULL);
- if (fts == NULL)
- {
- /* This can fail in three ways: out of memory, invalid bit_flags,
- and one or more of the FILES is an empty string. We could try
- to decipher that errno==EINVAL means invalid bit_flags and
- errno==ENOENT means there's an empty string, but that seems wrong.
- Ideally, fts_open would return a proper error indicator. For now,
- we'll presume that the bit_flags are valid and just check for
- empty strings. */
- bool invalid_arg = false;
- for (; *files; ++files)
- {
- if (**files == '\0')
- invalid_arg = true;
- }
- if (invalid_arg)
- error (EXIT_FAILURE, 0, _("invalid argument: %s"), quote (""));
- else
- xalloc_die ();
- }
+ FTS *fts = xfts_open (files, bit_flags, NULL);
while (1)
{