]> Dogcows Code - chaz/tar/blobdiff - src/buffer.c
Don't include <getline.h>. No longer needed.
[chaz/tar] / src / buffer.c
index 13e1c139048603bc2e6d5a339b83247754e3a705..f99dcca1b2829bb978073d12657829fb5277df8b 100644 (file)
@@ -26,7 +26,6 @@
 
 #include <closeout.h>
 #include <fnmatch.h>
-#include <getline.h>
 #include <human.h>
 #include <quotearg.h>
 
@@ -235,14 +234,16 @@ check_compressed_archive ()
 {
   struct zip_magic const *p;
   bool sfr;
-
+  bool short_file = false;
+  
   /* 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 */
-  find_next_block ();
-
+  if (find_next_block () == 0)
+    short_file = true;
+  
   /* Restore global values */
   read_full_records = sfr;
 
@@ -254,6 +255,9 @@ check_compressed_archive ()
     if (memcmp (record_start->buffer, p->magic, p->length) == 0)
       return p->type;
 
+  if (short_file)
+    ERROR ((0, 0, _("This does not look like a tar archive")));
+
   return ct_none;
 }
 
@@ -586,7 +590,7 @@ _open_archive (enum access_mode wanted_access)
 }
 
 static void
-do_checkpoint (bool write)
+do_checkpoint (bool do_write)
 {
   if (checkpoint_option && !(++checkpoint % checkpoint_option))
     {
@@ -598,7 +602,7 @@ do_checkpoint (bool write)
          break;
 
        case checkpoint_text:
-         if (write)
+         if (do_write)
            /* TRANSLATORS: This is a ``checkpoint of write operation'',
             *not* ``Writing a checkpoint''.
             E.g. in Spanish ``Punto de comprobaci@'on de escritura'',
@@ -1132,22 +1136,22 @@ try_new_volume ()
 {
   size_t status;
   union block *header;
-  int access;
+  enum access_mode acc;
   
   switch (subcommand_option)
     {
     case APPEND_SUBCOMMAND:
     case CAT_SUBCOMMAND:
     case UPDATE_SUBCOMMAND:
-      access = ACCESS_UPDATE;
+      acc = ACCESS_UPDATE;
       break;
 
     default:
-      access = ACCESS_READ;
+      acc = ACCESS_READ;
       break;
     }
 
-  if (!new_volume (access))
+  if (!new_volume (acc))
     return true;
   
   while ((status = rmtread (archive, record_start->buffer, record_size))
This page took 0.022017 seconds and 4 git commands to generate.