if (tmpdir) {
/* Note: this can't overflow, so the return value is safe */
length = strlcpy(fnametmp, tmpdir, MAXPATHLEN - 2);
fnametmp[length++] = '/';
if (tmpdir) {
/* Note: this can't overflow, so the return value is safe */
length = strlcpy(fnametmp, tmpdir, MAXPATHLEN - 2);
fnametmp[length++] = '/';
- strlcpy(fnametmp + length, f, maxname);
- strcat(fnametmp + length, ".XXXXXX");
+ added = strlcpy(fnametmp + length, f, maxname);
+ if (added >= maxname)
+ added = maxname - 1;
+ memcpy(fnametmp + length + added, ".XXXXXX", 8);
if (do_progress)
show_progress(offset, total_size);
sum_update(map_ptr(mapbuf, offset, len), len);
if (do_progress)
show_progress(offset, total_size);
sum_update(map_ptr(mapbuf, offset, len), len);
"rename failed for %s (from %s)",
full_fname(fname), partialptr);
} else {
"rename failed for %s (from %s)",
full_fname(fname), partialptr);
} else {
- if (remove_sent_files
- || (preserve_hard_links
- && file->link_u.links)) {
- SIVAL(numbuf, 0, i);
- send_msg(MSG_SUCCESS,numbuf,4);
- }
+ if (remove_source_files
+ || (preserve_hard_links && F_IS_HLINKED(file)))
+ send_msg_int(MSG_SUCCESS, i);
char *fname, fbuf[MAXPATHLEN];
char xname[MAXPATHLEN];
char fnametmp[MAXPATHLEN];
char *fname, fbuf[MAXPATHLEN];
char xname[MAXPATHLEN];
char fnametmp[MAXPATHLEN];
- log_item(FNAME, file, &stats, iflags, NULL);
+ log_item(FCLIENT, file, &stats, iflags, NULL);
continue;
}
if (write_batch < 0) {
log_item(FINFO, file, &stats, iflags, NULL);
if (!am_server)
continue;
}
if (write_batch < 0) {
log_item(FINFO, file, &stats, iflags, NULL);
if (!am_server)
if (fnamecmp_type >= basis_dir_cnt) {
rprintf(FERROR,
"invalid basis_dir index: %d.\n",
if (fnamecmp_type >= basis_dir_cnt) {
rprintf(FERROR,
"invalid basis_dir index: %d.\n",
rsyserr(FERROR, errno, "fstat %s failed",
full_fname(fnamecmp));
rsyserr(FERROR, errno, "fstat %s failed",
full_fname(fnamecmp));
if (inplace) {
fd2 = do_open(fname, O_WRONLY|O_CREAT, 0600);
if (fd2 == -1) {
rsyserr(FERROR, errno, "open %s failed",
full_fname(fname));
if (inplace) {
fd2 = do_open(fname, O_WRONLY|O_CREAT, 0600);
if (fd2 == -1) {
rsyserr(FERROR, errno, "open %s failed",
full_fname(fname));
if (fd2 == -1) {
rsyserr(FERROR, errno, "mkstemp %s failed",
full_fname(fnametmp));
if (fd2 == -1) {
rsyserr(FERROR, errno, "mkstemp %s failed",
full_fname(fnametmp));
- log_item(FNAME, file, &initial_stats, iflags, NULL);
+ log_item(FCLIENT, file, &initial_stats, iflags, NULL);
else if (!am_server && verbose && do_progress)
rprintf(FINFO, "%s\n", fname);
/* recv file data */
recv_ok = receive_data(f_in, fnamecmp, fd1, st.st_size,
else if (!am_server && verbose && do_progress)
rprintf(FINFO, "%s\n", fname);
/* recv file data */
recv_ok = receive_data(f_in, fnamecmp, fd1, st.st_size,
log_item(log_code, file, &initial_stats, iflags, NULL);
log_item(log_code, file, &initial_stats, iflags, NULL);
- if (remove_sent_files
- || (preserve_hard_links && file->link_u.links)) {
- SIVAL(numbuf, 0, i);
- send_msg(MSG_SUCCESS, numbuf, 4);
- }
+ if (remove_source_files
+ || (preserve_hard_links && F_IS_HLINKED(file)))
+ send_msg_int(MSG_SUCCESS, i);
if (msgtype == FERROR || verbose) {
char *errstr, *redostr, *keptstr;
if (!(keep_partial && partialptr) && !inplace)
if (msgtype == FERROR || verbose) {
char *errstr, *redostr, *keptstr;
if (!(keep_partial && partialptr) && !inplace)
"%s: %s failed verification -- update %s%s.\n",
errstr, fname, keptstr, redostr);
}
"%s: %s failed verification -- update %s%s.\n",
errstr, fname, keptstr, redostr);
}