X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/1b7c47cb550e7600a66528c9cbd4bc1e880fb91e..1e8ae5ede66ba337ba6abbb4afad2b3319c1db74:/sender.c diff --git a/sender.c b/sender.c index 79eb1c8c..623d995d 100644 --- a/sender.c +++ b/sender.c @@ -118,7 +118,7 @@ void send_files(struct file_list *flist,int f_out,int f_in) if (i < 0 || i >= flist->count) { rprintf(FERROR,"Invalid file index %d (count=%d)\n", i, flist->count); - exit_cleanup(1); + exit_cleanup(RERR_PROTOCOL); } file = flist->files[i]; @@ -128,17 +128,17 @@ void send_files(struct file_list *flist,int f_out,int f_in) fname[0] = 0; if (file->basedir) { - strlcpy(fname,file->basedir,MAXPATHLEN-1); + strlcpy(fname,file->basedir,MAXPATHLEN); if (strlen(fname) == MAXPATHLEN-1) { io_error = 1; rprintf(FERROR, "send_files failed on long-named directory %s\n", fname); return; } - strlcat(fname,"/",MAXPATHLEN-1); + strlcat(fname,"/",MAXPATHLEN); offset = strlen(file->basedir)+1; } - strlcat(fname,f_name(file),MAXPATHLEN-strlen(fname)); + strlcat(fname,f_name(file),MAXPATHLEN); if (verbose > 2) rprintf(FINFO,"send_files(%d,%s)\n",i,fname); @@ -200,6 +200,8 @@ void send_files(struct file_list *flist,int f_out,int f_in) if (!am_server) { log_transfer(file, fname+offset); } + + set_compression(fname); match_sums(f_out,s,buf,st.st_size);