X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fextract.c;h=1fe4276e352cdbee0be62c674b1a5aaf2c884c56;hb=320298c663ac4849226a2db820bee1bdb75d21ef;hp=49ed02908ff62715c68536830d866416af656b20;hpb=0a3a9744f771daf0331e0c6d7c2facb1c53f3406;p=chaz%2Ftar diff --git a/src/extract.c b/src/extract.c index 49ed029..1fe4276 100644 --- a/src/extract.c +++ b/src/extract.c @@ -22,6 +22,7 @@ #include "system.h" #include #include +#include #if HAVE_UTIME_H # include @@ -367,7 +368,7 @@ repair_delayed_set_stat (char const *dir, static int make_directories (char *file_name) { - char *cursor0 = file_name + FILESYSTEM_PREFIX_LEN (file_name); + char *cursor0 = file_name + FILE_SYSTEM_PREFIX_LEN (file_name); char *cursor; /* points into the file name */ int did_something = 0; /* did we do anything yet? */ int mode; @@ -811,8 +812,7 @@ extract_archive (void) break; if (absolute_names_option - || ! (ISSLASH (current_stat_info.link_name - [FILESYSTEM_PREFIX_LEN (current_stat_info.link_name)]) + || ! (IS_ABSOLUTE_FILE_NAME (current_stat_info.link_name) || contains_dot_dot (current_stat_info.link_name))) { while (status = symlink (current_stat_info.link_name, file_name),