void
info_attach_exclist (struct tar_stat_info *dir)
{
- struct excfile *file;
- struct exclist *head = NULL, *tail = NULL, *ent;
- struct vcs_ignore_file *vcsfile;
-
+ struct exclist *head = NULL, *tail = NULL;
if (dir->exclude_list)
return;
- for (file = excfile_head; file; file = file->next)
+
+ for (struct excfile *file = excfile_head; file; file = file->next)
{
if (faccessat (dir->fd, file->name, F_OK, 0) == 0)
{
- FILE *fp;
- struct exclude *ex = NULL;
int fd = subfile_open (dir, file->name, O_RDONLY);
if (fd < 0)
{
open_error (file->name);
continue;
}
- fp = fdopen (fd, "r");
+ FILE *fp = fdopen (fd, "r");
if (!fp)
{
paxerror (errno, _("%s: fdopen failed"), file->name);
continue;
}
- if (!ex)
- ex = new_exclude ();
+ struct exclude *ex = new_exclude ();
- vcsfile = get_vcs_ignore_file (file->name);
+ struct vcs_ignore_file *vcsfile = get_vcs_ignore_file (file->name);
if (vcsfile->initfn)
vcsfile->data = vcsfile->initfn (vcsfile->data);
paxfatal (errno, "%s", quotearg_colon (file->name));
fclose (fp);
- ent = xmalloc (sizeof (*ent));
+ struct exclist *ent = xmalloc (sizeof *ent);
ent->excluded = ex;
ent->flags = file->flags;
ent->prev = tail;