From: Paul Eggert Date: Tue, 20 Jul 1999 07:09:27 +0000 (+0000) Subject: (dump_file): Use HAVE_READLINK, not S_ISLNK, to determine whether to invoke X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=277f69debfb05ed3417483fc21be0f62a14ac81a;p=chaz%2Ftar (dump_file): Use HAVE_READLINK, not S_ISLNK, to determine whether to invoke readlink. --- diff --git a/src/create.c b/src/create.c index a7d1344..9769d0b 100644 --- a/src/create.c +++ b/src/create.c @@ -885,19 +885,10 @@ dump_file (char *p, dev_t parent_device, int top_level) if (current_stat.st_nlink > 1 && (S_ISREG (current_stat.st_mode) -#ifdef S_ISCTG || S_ISCTG (current_stat.st_mode) -#endif -#ifdef S_ISCHR || S_ISCHR (current_stat.st_mode) -#endif -#ifdef S_ISBLK || S_ISBLK (current_stat.st_mode) -#endif -#ifdef S_ISFIFO - || S_ISFIFO (current_stat.st_mode) -#endif - )) + || S_ISFIFO (current_stat.st_mode))) { struct link *lp; @@ -967,10 +958,7 @@ Removing leading `/' from absolute links"))); /* This is not a link to a previously dumped file, so dump it. */ if (S_ISREG (current_stat.st_mode) -#ifdef S_ISCTG - || S_ISCTG (current_stat.st_mode) -#endif - ) + || S_ISCTG (current_stat.st_mode)) { int f; /* file descriptor */ size_t bufsize; @@ -1113,12 +1101,12 @@ Removing leading `/' from absolute links"))); return; } } -#ifdef S_ISCTG + /* Mark contiguous files, if we support them. */ if (archive_format != V7_FORMAT && S_ISCTG (current_stat.st_mode)) header->header.typeflag = CONTTYPE; -#endif + isextended = header->oldgnu_header.isextended; save_typeflag = header->header.typeflag; finish_header (header); @@ -1274,7 +1262,7 @@ Read error at byte %s, reading %lu bytes, in file %s"), return; } -#ifdef S_ISLNK +#ifdef HAVE_READLINK else if (S_ISLNK (current_stat.st_mode)) { int size; @@ -1311,7 +1299,7 @@ Read error at byte %s, reading %lu bytes, in file %s"), } return; } -#endif /* S_ISLNK */ +#endif else if (S_ISDIR (current_stat.st_mode)) { @@ -1508,26 +1496,13 @@ Read error at byte %s, reading %lu bytes, in file %s"), return; } -#ifdef S_ISCHR else if (S_ISCHR (current_stat.st_mode)) type = CHRTYPE; -#endif - -#ifdef S_ISBLK else if (S_ISBLK (current_stat.st_mode)) type = BLKTYPE; -#endif - -#ifdef S_ISFIFO - else if (S_ISFIFO (current_stat.st_mode)) - type = FIFOTYPE; -#endif - -#ifdef S_ISSOCK - else if (S_ISSOCK (current_stat.st_mode)) + else if (S_ISFIFO (current_stat.st_mode) + || S_ISSOCK (current_stat.st_mode)) type = FIFOTYPE; -#endif - else goto unknown; @@ -1544,13 +1519,11 @@ Read error at byte %s, reading %lu bytes, in file %s"), header->header.typeflag = type; -#if defined S_ISBLK || defined S_ISCHR if (type != FIFOTYPE) { MAJOR_TO_OCT (major (current_stat.st_rdev), header->header.devmajor); MINOR_TO_OCT (minor (current_stat.st_rdev), header->header.devminor); } -#endif finish_header (header); if (remove_files_option)