switch (old_files_option)
{
- case KEEP_OLD_FILES:
+ case SKIP_OLD_FILES:
WARNOPT (WARN_EXISTING_FILE,
(0, 0, _("%s: skipping existing file"), file_name));
return RECOVER_SKIP;
+ case KEEP_OLD_FILES:
+ return RECOVER_NO;
+
case KEEP_NEWER_FILES:
if (file_newer_p (file_name, stp, ¤t_stat_info))
break;
/* If O_NOFOLLOW is needed but does not work, check for a symlink
separately. There's a race condition, but that cannot be avoided
on hosts lacking O_NOFOLLOW. */
- if (! O_NOFOLLOW && overwriting_old_files && ! dereference_option)
+ if (! HAVE_WORKING_O_NOFOLLOW
+ && overwriting_old_files && ! dereference_option)
{
struct stat st;
if (fstatat (chdir_fd, file_name, &st, AT_SYMLINK_NOFOLLOW) == 0
if (written > size)
written = size;
errno = 0;
- count = full_write (fd, data_block->buffer, written);
+ count = blocking_write (fd, data_block->buffer, written);
size -= written;
set_next_block_after ((union block *)
default:
WARNOPT (WARN_UNKNOWN_CAST,
(0, 0,
- _("%s: Unknown file type `%c', extracted as normal file"),
+ _("%s: Unknown file type '%c', extracted as normal file"),
quotearg_colon (file_name), typeflag));
*fun = extract_file;
}