]> Dogcows Code - chaz/tar/blobdiff - src/create.c
(finish_header): Report block numbers with origin 0, not origin 1.
[chaz/tar] / src / create.c
index d9ed4578aa10187a3ea52b3a26c182f8893cf875..b04b3a81bd24ce1ad9a6e898e8f5b19bf5d36bf6 100644 (file)
@@ -152,7 +152,7 @@ to_chars (int negative, uintmax_t value, size_t valsize,
       if (! warned_once)
        {
          warned_once = 1;
-         WARN ((0, 0, _("Generating negative octal headers\n")));
+         WARN ((0, 0, _("Generating negative octal headers")));
        }
       where[size - 1] = '\0';
       to_octal (value & MAX_VAL_WITH_DIGITS (valsize * CHAR_BIT, 1),
@@ -567,8 +567,6 @@ finish_header (union block *header)
 
   uintmax_to_chars ((uintmax_t) sum, header->header.chksum, 7);
 
-  set_next_block_after (header);
-
   if (verbose_option
       && header->header.typeflag != GNUTYPE_LONGLINK
       && header->header.typeflag != GNUTYPE_LONGNAME)
@@ -580,6 +578,8 @@ finish_header (union block *header)
       current_format = archive_format;
       print_header ();
     }
+
+  set_next_block_after (header);
 }
 \f
 /* Sparse file processing.  */
@@ -1165,7 +1165,7 @@ dump_file (char *p, int top_level, dev_t parent_device)
            }
          strcpy (namebuf + len, entry->d_name);
          if (!excluded_name (namebuf))
-           dump_file (namebuf, our_device, 0);
+           dump_file (namebuf, 0, our_device);
        }
 
       closedir (directory);
@@ -1555,6 +1555,13 @@ dump_file (char *p, int top_level, dev_t parent_device)
       else if (S_ISFIFO (current_stat.st_mode)
               || S_ISSOCK (current_stat.st_mode))
        type = FIFOTYPE;
+#ifdef S_ISDOOR
+      else if (S_ISDOOR (current_stat.st_mode))
+       {
+         WARN ((0, 0, _("%s: door ignored"), p));
+         return;
+       }
+#endif
       else
        goto unknown;
     }
This page took 0.023532 seconds and 4 git commands to generate.