- if (f_csums < 0) {
- stringjoin(filename, sizeof filename,
- batch_prefix, rsync_csums_file, NULL);
-
- f_csums = do_open(filename, O_RDONLY, 0);
- if (f_csums < 0) {
- rprintf(FERROR, "Batch file %s open error: %s\n",
- filename, strerror(errno));
- close(f_csums);
- exit_cleanup(1);
- }
- }
-
- read_batch_csums_file((char *) &file_flist_entry, sizeof (int));
- if (file_flist_entry != flist_entry) {
- rprintf(FINFO, "file_flist_entry (%d) != flist_entry (%d)\n",
- file_flist_entry, flist_entry);
- close(f_csums);
- exit_cleanup(1);
-
- } else {
- read_batch_csums_file((char *) &file_chunk_ct, sizeof (int));
- *checksums_match = 1;
- for (i = 0; i < file_chunk_ct; i++) {
- read_batch_csums_file((char *) &file_sum1,
- sizeof (uint32));
- read_batch_csums_file(file_sum2, csum_length);
-
- if ((s->sums[i].sum1 != file_sum1)
- || memcmp(s->sums[i].sum2, file_sum2, csum_length))
- *checksums_match = 0;
- } /* end for */
- }
-}
-
-void write_batch_delta_file(char *buff, int bytes_to_write)
-{
- char filename[MAXPATHLEN];
-
- if (f_delta < 0) {
- stringjoin(filename, sizeof filename,
- batch_prefix, rsync_delta_file, NULL);
-
- f_delta = do_open(filename, O_WRONLY | O_CREAT | O_TRUNC,
- S_IREAD | S_IWRITE);
- if (f_delta < 0) {
- rprintf(FERROR, "Batch file %s open error: %s\n",
- filename, strerror(errno));
- exit_cleanup(1);
- }
- }
-
- if (write(f_delta, buff, bytes_to_write) < 0) {
- rprintf(FERROR, "Batch file %s write error: %s\n",
- filename, strerror(errno));
- close(f_delta);
+ stringjoin(filename, sizeof filename,
+ batch_name, ".sh", NULL);
+ fd = do_open(filename, O_WRONLY | O_CREAT | O_TRUNC,
+ S_IRUSR | S_IWUSR | S_IEXEC);
+ if (fd < 0) {
+ rsyserr(FERROR, errno, "Batch file %s open error", filename);