On Mon, Dec 05, 2011 at 03:16:05PM +0100, franck.eyr...@jrc.ec.europa.eu wrote: > On 05/12/2011 13:47, franck.eyr...@jrc.ec.europa.eu wrote: > >(I could try to contribute, if you think it would require few > >changes, but I didn't work with c/c++ for a long time) > I anyway had a curious look at the source code; I noticed at line > 349 of MirrorJob.cc the following code : > > if(target_is_local && !script_only) > { > if(lstat(target_name,&st)!=-1)
Please try this patch and report if it works well for you. (use -L option). -- Alexander.
diff --git a/src/MirrorJob.cc b/src/MirrorJob.cc index 4b945d6..af27f39 100644 --- a/src/MirrorJob.cc +++ b/src/MirrorJob.cc @@ -348,7 +348,7 @@ void MirrorJob::HandleFile(FileInfo *file) } if(target_is_local && !script_only) { - if(lstat(target_name,&st)!=-1) + if((flags&RETR_SYMLINKS?stat:lstat)(target_name,&st)!=-1) { if(S_ISDIR(st.st_mode)) { @@ -693,7 +693,7 @@ int MirrorJob::Do() if(target_is_local) { struct stat st; - if(lstat(target_dir,&st)!=-1) + if((flags&RETR_SYMLINKS?stat:lstat)(target_dir,&st)!=-1) { if(S_ISDIR(st.st_mode)) {
_______________________________________________ lftp mailing list lftp@uniyar.ac.ru http://univ.uniyar.ac.ru/mailman/listinfo/lftp