summaryrefslogtreecommitdiff
path: root/ext/VMS-Filespec
diff options
context:
space:
mode:
authorCraig A. Berry <craigberry@mac.com>2014-11-18 19:03:51 -0600
committerCraig A. Berry <craigberry@mac.com>2014-11-18 20:36:39 -0600
commite283d9f3eca0ba7ff8f9bb3fe8cb8611758c7918 (patch)
treeae674787f528076255e56463d7c1bf55627755ed /ext/VMS-Filespec
parent3ef6b8e9a9da2a3d97ef32e4df629373ca2ab5f9 (diff)
downloadperl-e283d9f3eca0ba7ff8f9bb3fe8cb8611758c7918.tar.gz
Escape EFS for directory portion in tovmsspec.
For some reason extended characters were only being escaped in the final component of the path, but not in the directory portion, the one exception being dots. We need to give the entire path the same treatment. There is probably considerable opportunity for further consolidation and refactoring in what we escape, but at least now ../foo bar/ correctly becomes [-.foo^_^_bar]. The reverse case has similar problems and is a TODO.
Diffstat (limited to 'ext/VMS-Filespec')
-rw-r--r--ext/VMS-Filespec/t/filespec.t2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/VMS-Filespec/t/filespec.t b/ext/VMS-Filespec/t/filespec.t
index 0f31f85d4b..fe91ae01e3 100644
--- a/ext/VMS-Filespec/t/filespec.t
+++ b/ext/VMS-Filespec/t/filespec.t
@@ -107,6 +107,7 @@ __some_:<__where_.__over_>__the_.__rainbow_ unixify /__some_/__where_/__over_
__lyrics_:[__are_.__very_^.__sappy_]__but_^.__rhymes_^.__are_.__true_ unixify /__lyrics_/__are_/__very_.__sappy_/__but_.__rhymes_.__are_.__true_ ^
[.$(macro)] unixify $(macro)/ ^
^+foo.tmp unixify +foo.tmp ^
+[-.foo^_^_bar] unixify ../foo\ \ bar/ ^*
# and back again
/__some_/__where_/__over_/__the_.__rainbow_ vmsify __some_:[__where_.__over_]__the_.__rainbow_ ^
@@ -131,6 +132,7 @@ __some_/__where_/... vmsify [.__some_.__where_...] ^
foo-bar-0^.01/ vmsify [.foo-bar-0_01] [.foo-bar-0^.01]
\ foo.tmp vmsify ^_foo.tmp ^
+foo.tmp vmsify ^+foo.tmp ^
+../foo\ \ bar/ vmsify [-.foo^_^_bar] ^
# Fileifying directory specs
__down_:[__the_.__garden_.__path_] fileify __down_:[__the_.__garden_]__path_.dir;1 ^
[.__down_.__the_.__garden_.__path_] fileify [.__down_.__the_.__garden_]__path_.dir;1 ^