X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fextract.c;h=0d938e63798a1142a1b7253bd415aa8f94d14b52;hb=b0d5935cb0bf058cd2fc286a48cfd6b6a1c098bf;hp=b0127f2840610983cafcab74a352579feadf7b02;hpb=062b37115f4ab2bbdc72a128807adbb010291f8c;p=chaz%2Ftar diff --git a/src/extract.c b/src/extract.c index b0127f2..0d938e6 100644 --- a/src/extract.c +++ b/src/extract.c @@ -1,13 +1,13 @@ /* Extract files from a tar archive. Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, - 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. Written by John Gilmore, on 1985-11-19. 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 @@ -593,13 +593,13 @@ apply_nonancestor_delayed_set_stat (char const *file_name, bool after_links) if (! skip_this_one) { - struct tar_stat_info st; - st.stat.st_mode = data->mode; - st.stat.st_uid = data->uid; - st.stat.st_gid = data->gid; - st.atime = data->atime; - st.mtime = data->mtime; - set_stat (data->file_name, &st, cur_info, + struct tar_stat_info sb; + sb.stat.st_mode = data->mode; + sb.stat.st_uid = data->uid; + sb.stat.st_gid = data->gid; + sb.atime = data->atime; + sb.mtime = data->mtime; + set_stat (data->file_name, &sb, cur_info, data->invert_permissions, data->permstatus, DIRTYPE); } @@ -917,7 +917,7 @@ extract_link (char *file_name, int typeflag) int interdir_made = 0; char const *link_name; - transform_member_name (¤t_stat_info.link_name, true); + transform_member_name (¤t_stat_info.link_name, xform_link); link_name = current_stat_info.link_name; if (! absolute_names_option && contains_dot_dot (link_name)) @@ -974,7 +974,7 @@ extract_symlink (char *file_name, int typeflag) int status; int interdir_made = 0; - transform_member_name (¤t_stat_info.link_name, true); + transform_member_name (¤t_stat_info.link_name, xform_symlink); if (! absolute_names_option && (IS_ABSOLUTE_FILE_NAME (current_stat_info.link_name)