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. */
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-#include "system.h"
+#include <system.h>
#include "common.h"
-#include "rmt.h"
+#include <rmt.h>
static union block *new_record;
static int new_blocks;
abort ();
case HEADER_SUCCESS:
- if ((name = name_scan (current_stat_info.file_name)) == NULL)
+ if ((name = name_scan (current_stat_info.file_name, false)) == NULL)
{
skip_member ();
break;
if (logical_status == HEADER_SUCCESS
|| logical_status == HEADER_SUCCESS_EXTENDED)
{
- write_archive_to_stdout = 0;
+ write_archive_to_stdout = false;
/* Save away blocks before this one in this record. */
flush_archive ();
status = read_header (false);
- if (extended_header.size)
- xheader_decode (¤t_stat_info);
+ xheader_decode (¤t_stat_info);
if (status == HEADER_ZERO_BLOCK && ignore_zeros_option)
{
/* Found another header. */
- if ((name = name_scan (current_stat_info.file_name)) != NULL)
+ if ((name = name_scan (current_stat_info.file_name, false)) != NULL)
{
name->found_count++;
if (ISFOUND(name))
write_record (1);
}
}
- }
- if (logical_status == HEADER_END_OF_FILE)
- {
- /* Write the end of tape. FIXME: we can't use write_eot here,
- as it gets confused when the input is at end of file. */
+ if (logical_status == HEADER_END_OF_FILE)
+ {
+ /* Write the end of tape. FIXME: we can't use write_eot here,
+ as it gets confused when the input is at end of file. */
+
+ int total_zero_blocks = 0;
- int total_zero_blocks = 0;
+ do
+ {
+ int zero_blocks = blocking_factor - new_blocks;
+ memset (new_record + new_blocks, 0, BLOCKSIZE * zero_blocks);
+ total_zero_blocks += zero_blocks;
+ write_record (total_zero_blocks < 2);
+ }
+ while (total_zero_blocks < 2);
+ }
- do
+ if (! acting_as_filter && ! _isrmt (archive))
{
- int zero_blocks = blocking_factor - new_blocks;
- memset (new_record + new_blocks, 0, BLOCKSIZE * zero_blocks);
- total_zero_blocks += zero_blocks;
- write_record (total_zero_blocks < 2);
+ if (sys_truncate (archive))
+ truncate_warn (archive_name_array[0]);
}
- while (total_zero_blocks < 2);
}
-
free (new_record);
- if (! acting_as_filter && ! _isrmt (archive))
- {
- if (sys_truncate (archive))
- truncate_warn (archive_name_array[0]);
- }
-
close_archive ();
names_notfound ();
}