Merge recent gnulib changes, and remove some lint.

This commit is contained in:
Paul Eggert
2004-04-05 02:29:18 +00:00
parent 41d042c05f
commit 2bda83b48d
26 changed files with 880 additions and 703 deletions

View File

@@ -1,7 +1,7 @@
/* Miscellaneous functions, not really specific to GNU tar.
Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001,
2003 Free Software Foundation, Inc.
2003, 2004 Free Software Foundation, Inc.
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
@@ -331,16 +331,17 @@ remove_any_file (const char *path, enum remove_option option)
/* Check if PATH already exists and make a backup of it right now.
Return success (nonzero) only if the backup is either unneeded, or
successful. For now, directories are considered to never need
backup. If ARCHIVE is nonzero, this is the archive and so, we do
not have to backup block or character devices, nor remote entities. */
backup. If THIS_IS_THE_ARCHIVE is nonzero, this is the archive and
so, we do not have to backup block or character devices, nor remote
entities. */
bool
maybe_backup_file (const char *path, int archive)
maybe_backup_file (const char *path, int this_is_the_archive)
{
struct stat file_stat;
/* Check if we really need to backup the file. */
if (archive && _remdev (path))
if (this_is_the_archive && _remdev (path))
return true;
if (stat (path, &file_stat))
@@ -355,7 +356,8 @@ maybe_backup_file (const char *path, int archive)
if (S_ISDIR (file_stat.st_mode))
return true;
if (archive && (S_ISBLK (file_stat.st_mode) || S_ISCHR (file_stat.st_mode)))
if (this_is_the_archive
&& (S_ISBLK (file_stat.st_mode) || S_ISCHR (file_stat.st_mode)))
return true;
assign_string (&before_backup_name, path);
@@ -586,12 +588,6 @@ close_error (char const *name)
call_arg_error ("close", name);
}
void
close_fatal (char const *name)
{
call_arg_fatal ("close", name);
}
void
close_warn (char const *name)
{
@@ -875,16 +871,16 @@ write_error (char const *name)
}
void
write_error_details (char const *name, ssize_t status, size_t size)
write_error_details (char const *name, size_t status, size_t size)
{
if (status < 0)
if (status == 0)
write_error (name);
else
ERROR ((0, 0,
ngettext ("%s: Wrote only %lu of %lu byte",
"%s: Wrote only %lu of %lu bytes",
record_size),
name, (unsigned long) status, (unsigned long) record_size));
size),
name, (unsigned long int) status, (unsigned long int) size));
}
void