#include <pwd.h>
#include <grp.h>
#include <fnmatch.h>
+#include <quotearg.h>
#include "common.h"
\f
name_file = stdin;
}
else if (name_file = fopen (files_from_option, "r"), !name_file)
- FATAL_ERROR ((0, errno, _("Cannot open file %s"), files_from_option));
+ open_fatal (files_from_option);
}
}
if (chdir_flag)
{
if (chdir (name_buffer) < 0)
- FATAL_ERROR ((0, errno, _("Cannot change to directory %s"),
- name_buffer));
+ chdir_fatal (name_buffer);
chdir_flag = 0;
}
else if (change_dirs && strcmp (name_buffer, "-C") == 0)
name_close (void)
{
if (name_file && name_file != stdin)
- if (fclose (name_file) == EOF)
- ERROR ((0, errno, "%s", name_buffer));
+ if (fclose (name_file) != 0)
+ close_error (name_buffer);
}
/*-------------------------------------------------------------------------.
{
next = cursor->next;
if (!cursor->found && !cursor->fake)
- ERROR ((0, 0, _("%s: Not found in archive"), cursor->name));
+ ERROR ((0, 0, _("%s: Not found in archive"),
+ quotearg_colon (cursor->name)));
/* We could free the list, but the process is about to die anyway, so
save some CPU time. Amigas and other similarly broken software
char *name;
while (name = name_next (1), name)
- ERROR ((0, 0, _("%s: Not found in archive"), name));
+ ERROR ((0, 0, _("%s: Not found in archive"),
+ quotearg_colon (name)));
}
}
\f
if (deref_stat (dereference_option, name->name, &statbuf) != 0)
{
- ERROR ((0, errno, _("Cannot stat %s"), name->name));
+ stat_error (name->name);
continue;
}
if (S_ISDIR (statbuf.st_mode))
return 1;
for (p = name; *p; p++)
- if ((p == name || (ISSLASH (p[-1]) && !ISSLASH (p[0])))
+ if (((p == name || ISSLASH (p[-1])) && !ISSLASH (p[0]))
&& excluded_filename (excluded_without_slash, p,
FNM_FILE_NAME | FNM_LEADING_DIR))
return 1;