diff options
author | Andrey A. Chernov <ache@FreeBSD.org> | 1997-11-25 17:05:51 +0000 |
---|---|---|
committer | Andrey A. Chernov <ache@FreeBSD.org> | 1997-11-25 17:05:51 +0000 |
commit | 80bd9d6949785116ecabc5f05a4cdb7d4409fa73 (patch) | |
tree | 9db3eab2311099f34f2f8967fa635528a24a9793 /www/webcopy/files | |
parent | Upgrade suck to version 3.8.0 (diff) |
Properly copy files with % and & in the names
Submitted by: Dirk Meyer <dirk.meyer@dinoex.sub.org>
Notes
Notes:
svn path=/head/; revision=8823
Diffstat (limited to 'www/webcopy/files')
-rw-r--r-- | www/webcopy/files/patch-ac | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/www/webcopy/files/patch-ac b/www/webcopy/files/patch-ac new file mode 100644 index 000000000000..67e807ea2143 --- /dev/null +++ b/www/webcopy/files/patch-ac @@ -0,0 +1,34 @@ +*** webcopy.src Sat Nov 1 11:00:23 1997 +--- webcopy.src.neu Sat Nov 1 13:48:20 1997 +*************** +*** 384,389 **** +--- 384,390 ---- + return; + } + } ++ $ref =~ s/&/&/; + $ref="$path$ref" unless $ref=~m!^/!; + ($ref,$qs)=$ref=~m!^([^?]*)(.*)$!; + $isdir=$ref=~m!/$!; +*************** +*** 454,459 **** +--- 455,461 ---- + + sub transfer { + local($url,$file)=@_; ++ $file=&unescape($file); + local($status,$code,$info,$line,$length,$html,$redirect,$update,$data, + $bytes,$step,$slice); + if ($useremote) { +*************** +*** 560,565 **** +--- 562,568 ---- + local(@subdirs)=split('/',$path); + local($sub); + $name=pop(@subdirs); # get name of file from path ++ $name=&unescape($name); + for $sub (@subdirs) { + $dir.= "/".&unescape($sub); + stat(&real($dir)); + + |