Browse Source

(_open_archive): Make sure stdlis is set to stderr
when we are writing archive to stdout (unless --index-file is
used). Bug introduced on 2006-07-06.

Sergey Poznyakoff 18 years ago
parent
commit
dc6f7ebf20
1 changed files with 9 additions and 0 deletions
  1. 9 0
      src/buffer.c

+ 9 - 0
src/buffer.c

@@ -474,6 +474,11 @@ _open_archive (enum access_mode wanted_access)
 	  abort (); /* Should not happen */
 	  break;
 	}
+
+      if (!index_file_name
+	  && wanted_access == ACCESS_WRITE
+	  && strcmp (archive_name_array[0], "-") == 0)
+	stdlis = stderr;
     }
   else if (strcmp (archive_name_array[0], "-") == 0)
     {
@@ -499,12 +504,16 @@ _open_archive (enum access_mode wanted_access)
 
 	case ACCESS_WRITE:
 	  archive = STDOUT_FILENO;
+	  if (!index_file_name)
+	    stdlis = stderr;
 	  break;
 
 	case ACCESS_UPDATE:
 	  archive = STDIN_FILENO;
 	  write_archive_to_stdout = true;
 	  record_end = record_start; /* set up for 1st record = # 0 */
+	  if (!index_file_name)
+	    stdlis = stderr;
 	  break;
 	}
     }