use do_open() instead of open() in several places to help the WinXX port
[rsync/rsync.git] / receiver.c
index 2b8869d..6eb9aca 100644 (file)
@@ -358,14 +358,14 @@ int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen)
                fnamecmp = fname;
 
                /* open the file */  
-               fd1 = open(fnamecmp,O_RDONLY);
+               fd1 = do_open(fnamecmp, O_RDONLY, 0);
 
                if ((fd1 == -1) && (compare_dest != NULL)) {
                        /* try the file at compare_dest instead */
                        slprintf(fnamecmpbuf,MAXPATHLEN,"%s/%s",
                                                compare_dest,fname);
                        fnamecmp = fnamecmpbuf;
-                       fd1 = open(fnamecmp,O_RDONLY);
+                       fd1 = do_open(fnamecmp, O_RDONLY, 0);
                }
 
                if (fd1 != -1 && do_fstat(fd1,&st) != 0) {
@@ -477,7 +477,7 @@ int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen)
        for (i = 0; i < flist->count; i++) {
                file = flist->files[i];
                if (!file->basename || !S_ISDIR(file->mode)) continue;
-               recv_generator(f_name(file),flist,i,-1);
+               recv_generator(local_name?local_name:f_name(file),flist,i,-1);
        }
 
        if (verbose > 2)