浏览代码

Work around GCC bug 106428

* src/names.c (read_next_name): Reword and clarify
to avoid GCC bug 106428.
Paul Eggert 2 年之前
父节点
当前提交
4986147986
共有 1 个文件被更改,包括 7 次插入5 次删除
  1. 7 5
      src/names.c

+ 7 - 5
src/names.c

@@ -199,7 +199,7 @@ names_parse_opt (int key, char *arg, struct argp_state *state)
     case ADD_FILE_OPTION:
       name_add_name (arg);
       break;
-      
+
     case ARGP_KEY_ERROR:
       {
 	struct tar_args *args = state->input;
@@ -217,7 +217,7 @@ names_parse_opt (int key, char *arg, struct argp_state *state)
 	name_add_option (key, arg);
       else
 	return ARGP_ERR_UNKNOWN;
-      
+
     }
   return 0;
 }
@@ -1028,8 +1028,10 @@ read_next_name (struct name_elt *ent, struct name_elt *ret)
 	      name_list_advance ();
 	      return 1;
 	    }
-	  if ((ent->v.file.fp = fopen (ent->v.file.name, "r")) == NULL)
+	  FILE *fp = fopen (ent->v.file.name, "r");
+	  if (!fp)
 	    open_fatal (ent->v.file.name);
+	  ent->v.file.fp = fp;
 	}
       ent->v.file.term = filename_terminator;
       ent->v.file.verbatim = verbatim_files_from_option;
@@ -1250,13 +1252,13 @@ add_starting_file (char const *file_name)
       remname (head);
       free_name (head);
     }
-  
+
   name->prev = NULL;
   name->next = namelist;
   namelist = name;
   if (!nametail)
     nametail = namelist;
-  
+
   name->found_count = 0;
   name->matching_flags = INCLUDE_OPTIONS;
   name->change_dir = 0;