#include "copy.h"
#include "cp-hash.h"
#include "dirname.h"
+#include "full-write.h"
#include "path-concat.h"
#include "quote.h"
#include "same.h"
dev_t dev;
};
-int full_write ();
int euidaccess ();
int yesno ();
for (;;)
{
- int n_read = read (source_desc, buf, buf_size);
+ ssize_t n_read = read (source_desc, buf, buf_size);
if (n_read < 0)
{
#ifdef EINTR
}
if (ip == 0)
{
- if (full_write (dest_desc, buf, n_read) < 0)
+ if (full_write (dest_desc, buf, n_read) != n_read)
{
error (0, errno, _("writing %s"), quote (dst_path));
return_val = -1;
{
#if HAVE_FTRUNCATE
/* Write a null character and truncate it again. */
- if (full_write (dest_desc, "", 1) < 0
+ if (full_write (dest_desc, "", 1) != 1
|| ftruncate (dest_desc, n_read_total) < 0)
#else
/* Seek backwards one character and write a null. */
if (lseek (dest_desc, (off_t) -1, SEEK_CUR) < 0L
- || full_write (dest_desc, "", 1) < 0)
+ || full_write (dest_desc, "", 1) != 1)
#endif
{
error (0, errno, _("writing %s"), quote (dst_path));