]> Dogcows Code - chaz/tar/commitdiff
* src/buffer.c (reading_from_pipe): Remove. All uses removed.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 18 Apr 2005 18:21:50 +0000 (18:21 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 18 Apr 2005 18:21:50 +0000 (18:21 +0000)
(short_read): Don't warn about short reads; they're normal.
* tests/shortrec.at: New file.
* tests/testsuite.at: Include it.

ChangeLog
src/buffer.c
tests/shortrec.at [new file with mode: 0644]
tests/testsuite.at

index ca0a12ff8a662bb1d933f822110ccb4750fd120b..60aabcc6c66d8df419818bd9b4340b7e939d29ea 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2005-04-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/buffer.c (reading_from_pipe): Remove.  All uses removed.
+       (short_read): Don't warn about short reads; they're normal.
+       * tests/shortrec.at: New file.
+       * tests/testsuite.at: Include it.
+
+       * bootstrap (gnulib_modules): Don't create a file modlist.tmp, as
+       it is sometimes left behind as a garbage file (maybe due to the
+       multiple traps?).
+
 2005-04-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/list.c: Handle Solaris 'X' type flag
index ef57a050acd3adcfeede933018a00c80e0366d03..93613eeb3dedd945d62e9b3f99eeb4cf3638cd02 100644 (file)
@@ -73,7 +73,6 @@ static bool hit_eof;
 static int checkpoint;
 
 static bool read_full_records = false;
-static bool reading_from_pipe = false;
 
 /* We're reading, but we just read the last block and it's time to update.
    Declared in update.c
@@ -182,21 +181,17 @@ enum compress_type
 check_compressed_archive ()
 {
   struct zip_magic const *p;
-  bool sfr, srp;
+  bool sfr;
 
   /* Prepare global data needed for find_next_block: */
   record_end = record_start; /* set up for 1st record = # 0 */
   sfr = read_full_records;
   read_full_records = true; /* Suppress fatal error on reading a partial
                               record */
-  srp = reading_from_pipe;
-  reading_from_pipe = true; /* Suppress warning message on reading a partial
-                              record */
   find_next_block ();
 
   /* Restore global values */
   read_full_records = sfr;
-  reading_from_pipe = srp;
 
   if (tar_checksum (record_start, true) == HEADER_SUCCESS)
     /* Probably a valid header */
@@ -236,7 +231,7 @@ open_compressed_archive ()
       /* Open compressed archive */
       use_compress_program_option = compress_program (type);
       child_pid = sys_child_open_for_uncompress ();
-      read_full_records = reading_from_pipe = true;
+      read_full_records = true;
     }
 
   records_read = 0;
@@ -406,7 +401,6 @@ open_archive (enum access_mode wanted_access)
   access_mode = wanted_access == ACCESS_UPDATE ? ACCESS_READ : wanted_access;
 
   read_full_records = read_full_records_option;
-  reading_from_pipe = false;
 
   records_read = 0;
 
@@ -416,7 +410,7 @@ open_archive (enum access_mode wanted_access)
        {
        case ACCESS_READ:
          child_pid = sys_child_open_for_uncompress ();
-         read_full_records = reading_from_pipe = true;
+         read_full_records = true;
          record_end = record_start; /* set up for 1st record = # 0 */
          break;
 
@@ -760,20 +754,7 @@ short_read (size_t status)
          archive_read_error ();
 
       if (status == 0)
-       {
-         if (!reading_from_pipe)
-           {
-             char buf[UINTMAX_STRSIZE_BOUND];
-
-             WARN((0, 0,
-                   ngettext ("Read %s byte from %s",
-                             "Read %s bytes from %s",
-                             record_size - left),
-                   STRINGIFY_BIGINT (record_size - left, buf),
-                   *archive_name_cursor));
-           }
-         break;
-       }
+       break;
 
       if (! read_full_records)
        {
diff --git a/tests/shortrec.at b/tests/shortrec.at
new file mode 100644 (file)
index 0000000..09cc530
--- /dev/null
@@ -0,0 +1,39 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2005 Free Software Foundation, Inc.
+
+# 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 version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# Check that tar doesn't complain when reading short records.
+# This can happen when the input blocksize differs from the blocksize
+# used to create the archive.
+
+AT_SETUP([short records])
+AT_KEYWORDS([shortrec.at])
+
+AT_TAR_CHECK([
+mkdir directory
+(cd directory && touch a b c d e f g h i j k l m n o p q r)
+tar -c -b 1 directory | tar -t >/dev/null
+tar -c -b 1 -f archive directory
+tar -t -f archive >/dev/null
+tar -t <archive >/dev/null
+
+rm -r directory
+])
+
+AT_CLEANUP
index 29f174fdde81d64a594f5c4e99ad31da7ac87505..e260c839e2b131027808985c8939c9a2de32a293 100644 (file)
@@ -106,6 +106,8 @@ m4_include([recurse.at])
 m4_include([same-order01.at])
 m4_include([same-order02.at])
 
+m4_include([shortrec.at])
+
 m4_include([sparse01.at])
 m4_include([sparse02.at])
 
This page took 0.035413 seconds and 4 git commands to generate.