]> Dogcows Code - chaz/tar/blobdiff - src/extract.c
Relicense under GPLv3
[chaz/tar] / src / extract.c
index 387ebb977722d64b4fa5776cac3fff7bfa7e9696..92f5452a000a9283fa92e001712e8a035bf59156 100644 (file)
@@ -7,7 +7,7 @@
 
    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
-   Free Software Foundation; either version 2, or (at your option) any later
+   Free Software Foundation; either version 3, or (at your option) any later
    version.
 
    This program is distributed in the hope that it will be useful, but
@@ -914,10 +914,12 @@ create_placeholder_file (char *file_name, bool is_symlink, int *interdir_made)
 static int
 extract_link (char *file_name, int typeflag)
 {
-  char const *link_name = safer_name_suffix (current_stat_info.link_name,
-                                             true, absolute_names_option);
   int interdir_made = 0;
+  char const *link_name;
 
+  transform_member_name (&current_stat_info.link_name, xform_link);
+  link_name = current_stat_info.link_name;
+  
   if (! absolute_names_option && contains_dot_dot (link_name))
     return create_placeholder_file (file_name, false, &interdir_made);
 
@@ -972,6 +974,8 @@ extract_symlink (char *file_name, int typeflag)
   int status;
   int interdir_made = 0;
 
+  transform_member_name (&current_stat_info.link_name, xform_symlink);
+
   if (! absolute_names_option
       && (IS_ABSOLUTE_FILE_NAME (current_stat_info.link_name)
          || contains_dot_dot (current_stat_info.link_name)))
This page took 0.020317 seconds and 4 git commands to generate.