]> Dogcows Code - chaz/tar/blobdiff - src/list.c
(decode_options): ERROR ((TAREXIT_FAILURE, ... -> FATAL_ERROR ((0,
[chaz/tar] / src / list.c
index 18f3225cdc0fc9b8350b5d8e34fb1c2f9dc9794f..0c1e886c4b04a612d6c2d5bce757f717796fb723 100644 (file)
@@ -70,7 +70,7 @@ read_and (void (*do_something) ())
 
          if (!name_match (current_file_name)
              || current_stat.st_mtime < newer_mtime_option
-             || excluded_filename (excluded, base_name (current_file_name)))
+             || excluded_pathname (excluded, current_file_name))
            {
              int isextended = 0;
 
@@ -507,21 +507,17 @@ decode_header (union block *header, struct stat *stat_info,
        }
       switch (header->header.typeflag)
        {
-#ifdef S_IFBLK
        case BLKTYPE:
          stat_info->st_rdev
            = makedev (MAJOR_FROM_OCT (header->header.devmajor),
                       MINOR_FROM_OCT (header->header.devminor));
          break;
-#endif
 
-#ifdef S_IFCHR
        case CHRTYPE:
          stat_info->st_rdev
            = makedev (MAJOR_FROM_OCT (header->header.devmajor),
                       MINOR_FROM_OCT (header->header.devminor));
          break;
-#endif
 
        default:
          stat_info->st_rdev = 0;
@@ -577,12 +573,14 @@ from_oct (const char *where0, size_t digs0, const char *type, uintmax_t maxval)
          if (!o)
            {
              o = clone_quoting_options ((struct quoting_options *) 0);
-             set_quoting_style (o, escape_quoting_style);
+             set_quoting_style (o, c_quoting_style);
            }
 
-         quotearg_buffer (buf, sizeof buf, where0, digs0, o);
+         for (digs = digs0;  digs && ! where0[digs - 1];  digs--)
+           continue;
+         quotearg_buffer (buf, sizeof buf, where0, digs, o);
          ERROR ((0, 0,
-                 _("Header contains \"%.*s\" where octal %s value expected"),
+                 _("Header contains %.*s where octal %s value expected"),
                  (int) sizeof buf, buf, type));
        }
 
@@ -872,14 +870,12 @@ print_header (void)
 
       switch (current_header->header.typeflag)
        {
-#if defined(S_IFBLK) || defined(S_IFCHR)
        case CHRTYPE:
        case BLKTYPE:
          sprintf (size, "%lu,%lu",
                   (unsigned long) major (current_stat.st_rdev),
                   (unsigned long) minor (current_stat.st_rdev));
          break;
-#endif
        case GNUTYPE_SPARSE:
          strcpy (size,
                  STRINGIFY_BIGINT
This page took 0.021624 seconds and 4 git commands to generate.