Better pid handling.
[rsync/rsync.git] / batch.c
diff --git a/batch.c b/batch.c
index 632c607..dc96c1d 100644 (file)
--- a/batch.c
+++ b/batch.c
@@ -29,8 +29,8 @@ void write_batch_flist_info(int flist_count, struct file_struct **files)
        int i, f, save_pv;
        int64 save_written;
 
-       i = strlcpy(filename, batch_prefix, sizeof filename);
-       strlcpy(filename + i, rsync_flist_file, sizeof filename - i);
+       stringjoin(filename, sizeof filename,
+                  batch_prefix, rsync_flist_file, NULL);
 
        f = do_open(filename, O_WRONLY|O_CREAT|O_TRUNC, S_IREAD|S_IWRITE);
        if (f < 0) {
@@ -45,8 +45,10 @@ void write_batch_flist_info(int flist_count, struct file_struct **files)
        write_int(f, protocol_version);
        write_int(f, flist_count);
 
-       for (i = 0; i < flist_count; i++)
-               send_file_entry(files[i], f, files[i]->flags & LIVE_FLAGS);
+       for (i = 0; i < flist_count; i++) {
+               send_file_entry(files[i], f, files[i]->flags & FLAG_TOP_DIR ?
+                               XMIT_TOP_DIR : 0);
+       }
        send_file_entry(NULL, f, 0);
 
        protocol_version = save_pv;
@@ -64,8 +66,8 @@ void write_batch_argvs_file(int argc, char *argv[])
        char buff2[MAXPATHLEN + 6];
        char filename[MAXPATHLEN];
 
-       i = strlcpy(filename, batch_prefix, sizeof filename);
-       strlcpy(filename+i, rsync_argvs_file, sizeof filename - i);
+       stringjoin(filename, sizeof filename,
+                  batch_prefix, rsync_argvs_file, NULL);
 
        f = do_open(filename, O_WRONLY | O_CREAT | O_TRUNC,
                    S_IREAD | S_IWRITE | S_IEXEC);
@@ -124,8 +126,8 @@ struct file_list *create_flist_from_batch(void)
        int i, f, save_pv;
        int64 save_read;
 
-       i = strlcpy(filename, batch_prefix, sizeof filename);
-       strlcpy(filename + i, rsync_flist_file, sizeof filename - i);
+       stringjoin(filename, sizeof filename,
+                  batch_prefix, rsync_flist_file, NULL);
 
        f = do_open(filename, O_RDONLY, 0);
        if (f < 0) {
@@ -149,7 +151,7 @@ struct file_list *create_flist_from_batch(void)
                out_of_memory("create_flist_from_batch");
 
        for (i = 0; (flags = read_byte(f)) != 0; i++) {
-               if (protocol_version >= 28 && (flags & EXTENDED_FLAGS))
+               if (protocol_version >= 28 && (flags & XMIT_EXTENDED_FLAGS))
                        flags |= read_byte(f) << 8;
                receive_file_entry(&batch_flist->files[i], flags, f);
        }
@@ -193,8 +195,8 @@ void write_batch_csum_info(int *flist_entry, struct sum_struct *s)
        char filename[MAXPATHLEN];
 
        if (f_csums < 0) {
-               int n = strlcpy(filename, batch_prefix, sizeof filename);
-               strlcpy(filename + n, rsync_csums_file, sizeof filename - n);
+               stringjoin(filename, sizeof filename,
+                          batch_prefix, rsync_csums_file, NULL);
 
                f_csums = do_open(filename, O_WRONLY | O_CREAT | O_TRUNC,
                                  S_IREAD | S_IWRITE);
@@ -242,8 +244,8 @@ void read_batch_csum_info(int flist_entry, struct sum_struct *s,
        char filename[MAXPATHLEN];
 
        if (f_csums < 0) {
-               int n = strlcpy(filename, batch_prefix, sizeof filename);
-               strlcpy(filename + n, rsync_csums_file, sizeof filename - n);
+               stringjoin(filename, sizeof filename,
+                          batch_prefix, rsync_csums_file, NULL);
 
                f_csums = do_open(filename, O_RDONLY, 0);
                if (f_csums < 0) {
@@ -284,8 +286,8 @@ void write_batch_delta_file(char *buff, int bytes_to_write)
        char filename[MAXPATHLEN];
 
        if (f_delta < 0) {
-               int n = strlcpy(filename, batch_prefix, sizeof filename);
-               strlcpy(filename + n, rsync_delta_file, sizeof filename - n);
+               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);
@@ -316,8 +318,8 @@ int read_batch_delta_file(char *buff, int len)
        char filename[MAXPATHLEN];
 
        if (f_delta < 0) {
-               int n = strlcpy(filename, batch_prefix, sizeof filename);
-               strlcpy(filename + n, rsync_delta_file, sizeof filename - n);
+               stringjoin(filename, sizeof filename,
+                          batch_prefix, rsync_delta_file, NULL);
 
                f_delta = do_open(filename, O_RDONLY, 0);
                if (f_delta < 0) {