}
statret = -1;
}
- if (statret != 0 && mkdir(fname,file->mode) != 0 && errno != EEXIST) {
+ if (statret != 0 && do_mkdir(fname,file->mode) != 0 && errno != EEXIST) {
if (!(relative_paths && errno==ENOENT &&
create_directory_path(fname)==0 &&
- mkdir(fname,file->mode)==0)) {
+ do_mkdir(fname,file->mode)==0)) {
fprintf(FERROR,"mkdir %s : %s (2)\n",
fname,strerror(errno));
}
sum_update(data,i);
- if (fd != -1 && write_sparse(fd,data,i) != i) {
+ if (fd != -1 && write_file(fd,data,i) != i) {
fprintf(FERROR,"write failed on %s : %s\n",fname,strerror(errno));
exit_cleanup(1);
}
see_token(map, len);
sum_update(map,len);
- if (fd != -1 && write_sparse(fd,map,len) != len) {
+ if (fd != -1 && write_file(fd,map,len) != len) {
fprintf(FERROR,"write failed on %s : %s\n",fname,strerror(errno));
exit_cleanup(1);
}
exit_cleanup(1);
}
+ name[strlen(name)-2] = 0;
+
p = strrchr(name,'/');
if (!p) {
free(name);
}
*p = 0;
+ strcat(name,"/.");
+
while (low != high) {
int mid = (low+high)/2;
int ret = strcmp(f_name(flist->files[flist_up(flist, mid)]),name);
if (!S_ISDIR(flist->files[j]->mode)) continue;
+ if (strlen(name)<2 || strcmp(name+strlen(name)-2,"/.")!=0) continue;
+
if (delete_already_done(flist, j)) continue;
if (!(local_file_list = send_file_list(-1,1,&name)))
} else {
sprintf(fnametmp,"%s.XXXXXX",fname);
}
- if (NULL == mktemp(fnametmp)) {
+ if (NULL == do_mktemp(fnametmp)) {
fprintf(FERROR,"mktemp %s failed\n",fnametmp);
receive_data(f_in,buf,-1,NULL);
if (buf) unmap_file(buf);
continue;
}
sprintf(fnamebak,"%s%s",fname,backup_suffix);
- if (rename(fname,fnamebak) != 0 && errno != ENOENT) {
+ if (do_rename(fname,fnamebak) != 0 && errno != ENOENT) {
fprintf(FERROR,"rename %s %s : %s\n",fname,fnamebak,strerror(errno));
continue;
}
}
/* move tmp file over real file */
- if (rename(fnametmp,fname) != 0) {
+ if (do_rename(fnametmp,fname) != 0) {
if (errno == EXDEV) {
/* rename failed on cross-filesystem link.
Copy the file instead. */