X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fbuffer.c;h=4b44eaf13b9844b39e7bc6b8c80adbb93c19e882;hb=3de5db2a1511a8fa2b17a933ccee70ae20fd588b;hp=4980d9bae400ee8d0c76a559a1d93c8bac0e5330;hpb=8ebbef8a15967965402fc0f79371410b755f4fee;p=chaz%2Ftar diff --git a/src/buffer.c b/src/buffer.c index 4980d9b..4b44eaf 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1,24 +1,24 @@ /* Buffer management for tar. - Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software + Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2013 Free Software Foundation, Inc. - Written by John Gilmore, on 1985-08-25. + This file is part of GNU tar. - 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 3, or (at your option) any later - version. + GNU tar 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 3 of the License, 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. + GNU tar 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., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by John Gilmore, on 1985-08-25. */ #include #include @@ -722,9 +722,6 @@ _open_archive (enum access_mode wanted_access) break; } } - else if (verify_option) - archive = rmtopen (archive_name_array[0], O_RDWR | O_CREAT | O_BINARY, - MODE_RW, rsh_command_option); else switch (wanted_access) { @@ -740,8 +737,12 @@ _open_archive (enum access_mode wanted_access) maybe_backup_file (archive_name_array[0], 1); backed_up_flag = 1; } - archive = rmtcreat (archive_name_array[0], MODE_RW, - rsh_command_option); + if (verify_option) + archive = rmtopen (archive_name_array[0], O_RDWR | O_CREAT | O_BINARY, + MODE_RW, rsh_command_option); + else + archive = rmtcreat (archive_name_array[0], MODE_RW, + rsh_command_option); break; case ACCESS_UPDATE: @@ -883,16 +884,16 @@ short_read (size_t status) left = record_size - status; if (left && left % BLOCKSIZE == 0 - && verbose_option + && (warning_option & WARN_RECORD_SIZE) && record_start_block == 0 && status != 0 && archive_is_dev ()) { unsigned long rsize = status / BLOCKSIZE; WARN ((0, 0, - ngettext ("Record size = %lu block", - "Record size = %lu blocks", - rsize), - rsize)); + ngettext ("Record size = %lu block", + "Record size = %lu blocks", + rsize), + rsize)); } while (left % BLOCKSIZE != 0