Browse Source

(flush_read): If read_full_records_option, try to fill the input buffer,
as --delete -f - needs this.

Paul Eggert 24 năm trước cách đây
mục cha
commit
7abb9b854d
1 tập tin đã thay đổi với 5 bổ sung3 xóa
  1. 5 3
      src/buffer.c

+ 5 - 3
src/buffer.c

@@ -1198,7 +1198,8 @@ flush_read (void)
   more = record_start->buffer + status;
   left = record_size - status;
 
-  while (left % BLOCKSIZE != 0)
+  while (left % BLOCKSIZE != 0
+	 || (left && status && read_full_records_option))
     {
       if (status)
 	while ((status = rmtread (archive, more, left)) < 0)
@@ -1206,8 +1207,9 @@ flush_read (void)
 
       if (status == 0)
 	{
-	  ERROR ((0, 0, _("%d garbage bytes ignored at end of archive"),
-		  (int) ((record_size - left) % BLOCKSIZE)));
+	  if (left % BLOCKSIZE != 0)
+	    ERROR ((0, 0, _("%d garbage bytes ignored at end of archive"),
+		    (int) ((record_size - left) % BLOCKSIZE)));
 	  break;
 	}