- read_batch_flist_file((char *) &file->modtime, sizeof(time_t));
- read_batch_flist_file((char *) &file->length, sizeof(OFF_T));
- read_batch_flist_file((char *) &file->mode, sizeof(mode_t));
- read_batch_flist_file((char *) &file->inode, sizeof(INO64_T));
- read_batch_flist_file((char *) &file->dev, sizeof(DEV64_T));
- read_batch_flist_file((char *) &file->rdev, sizeof(dev_t));
- read_batch_flist_file((char *) &file->uid, sizeof(uid_t));
- read_batch_flist_file((char *) &file->gid, sizeof(gid_t));
- read_batch_flist_file(char_str_len, sizeof(char_str_len));
- int_str_len = IVAL(char_str_len, 0);
- if (int_str_len > 0) {
- read_batch_flist_file(buff, int_str_len);
- buff[int_str_len] = '\0';
- file->basename = strdup(buff);
- } else {
- file->basename = NULL;
- }
-
- read_batch_flist_file(char_str_len, sizeof(char_str_len));
- int_str_len = IVAL(char_str_len, 0);
- if (int_str_len > 0) {
- read_batch_flist_file(buff, int_str_len);
- buff[int_str_len] = '\0';
- file[0].dirname = strdup(buff);
- } else {
- file[0].dirname = NULL;
- }
-
- read_batch_flist_file(char_str_len, sizeof(char_str_len));
- int_str_len = IVAL(char_str_len, 0);
- if (int_str_len > 0) {
- read_batch_flist_file(buff, int_str_len);
- buff[int_str_len] = '\0';
- file[0].basedir = strdup(buff);
- } else {
- file[0].basedir = NULL;
- }
-
- read_batch_flist_file(char_str_len, sizeof(char_str_len));
- int_str_len = IVAL(char_str_len, 0);
- if (int_str_len > 0) {
- read_batch_flist_file(buff, int_str_len);
- buff[int_str_len] = '\0';
- file[0].link = strdup(buff);
- } else {
- file[0].link = NULL;
- }
-
- read_batch_flist_file(char_str_len, sizeof(char_str_len));
- int_str_len = IVAL(char_str_len, 0);
- if (int_str_len > 0) {
- read_batch_flist_file(buff, int_str_len);
- buff[int_str_len] = '\0';
- file[0].sum = strdup(buff);
- } else {
- file[0].sum = NULL;
- }
-}
-
-void write_batch_csums_file(char *buff, int bytes_to_write)
-{
-
- static int fdb_open = 1;
-
- if (fdb_open) {
- /* Set up file extension */
- strcat(rsync_csums_file, batch_file_ext);
-
- /* Open batch csums file for writing; create it if it doesn't exist */
- fdb =
- do_open(rsync_csums_file, O_WRONLY | O_CREAT | O_TRUNC,
- S_IREAD | S_IWRITE);
- if (fdb == -1) {
- rprintf(FERROR, "Batch file %s open error: %s\n",
- rsync_csums_file, strerror(errno));
- close(fdb);
- exit_cleanup(1);
- }
- fdb_open = 0;
- }
-
- /* Write buffer to batch csums file */
-
- if (write(fdb, buff, bytes_to_write) == -1) {
- rprintf(FERROR, "Batch file %s write error: %s\n",
- rsync_csums_file, strerror(errno));
- close(fdb);