]> git.ipfire.org Git - thirdparty/tar.git/commitdiff
Pacify GCC in info_attach_exclist
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 1 Nov 2024 02:53:25 +0000 (19:53 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 2 Nov 2024 06:47:23 +0000 (23:47 -0700)
* src/exclist.c (info_attach_exclist): Remove unnecessary test
for whether dir and ex are null.  GCC complains about the first
one in some cases.  Use C99-style decls.

src/exclist.c

index 593b550ab523a9fdf57668b284b226cdba021152..ac4c2ca2ff31c1ecefe201f9d1b366281052b35a 100644 (file)
@@ -72,25 +72,21 @@ struct exclist
 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);
@@ -98,10 +94,9 @@ info_attach_exclist (struct tar_stat_info *dir)
              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);
@@ -113,7 +108,7 @@ info_attach_exclist (struct tar_stat_info *dir)
            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;