diff options
author | ache <ache@FreeBSD.org> | 1997-11-25 17:05:51 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1997-11-25 17:05:51 +0000 |
commit | a5dd85173e404687551dde94a75f21fc5efef502 (patch) | |
tree | 3ad301ac6abb1a0e96d61ad046d5ccd4bec07ee3 /www/webcopy | |
parent | 4a6a6c83b26cf05ae3299afedcab912465dc9460 (diff) | |
download | FreeBSD-ports-a5dd85173e404687551dde94a75f21fc5efef502.zip FreeBSD-ports-a5dd85173e404687551dde94a75f21fc5efef502.tar.gz |
Properly copy files with % and & in the names
Submitted by: Dirk Meyer <dirk.meyer@dinoex.sub.org>
Diffstat (limited to 'www/webcopy')
-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 0000000..67e807e --- /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)); + + |