Copy files until EOF, not the reported file size, to deal with bad sizes in

the proc filesystem.
This commit is contained in:
Matt Kraai 2001-06-11 13:58:02 +00:00
parent 5246225596
commit bf0a010cf7
2 changed files with 44 additions and 35 deletions

View file

@ -94,7 +94,7 @@ int copy_file(const char *source, const char *dest, int flags)
umask(saved_umask);
}
/* Recursively copy files in SOURCE. */
if ((dp = opendir(source)) == NULL) {
perror_msg("unable to open directory `%s'", source);
@ -116,7 +116,7 @@ int copy_file(const char *source, const char *dest, int flags)
free(new_source);
free(new_dest);
}
/* ??? What if an error occurs in readdir? */
if (closedir(dp) < 0) {
@ -173,7 +173,8 @@ int copy_file(const char *source, const char *dest, int flags)
goto end;
}
copy_file_chunk(sfp, dfp, source_stat.st_size);
if (copy_file_chunk(sfp, dfp, -1) < 0)
status = -1;
if (fclose(dfp) < 0) {
perror_msg("unable to close `%s'", dest);