summaryrefslogtreecommitdiff
path: root/vms
diff options
context:
space:
mode:
authorJohn E. Malmberg <wb8tyw@qsl.net>2008-10-29 17:02:43 -0500
committerCraig A. Berry <craigberry@mac.com>2008-10-30 15:21:56 +0000
commitcfbf46cd7f497ed348c167b5b6cce3852462ff45 (patch)
tree638aae844ca0761cfb23c8c21507cffdffc43a5a /vms
parente7d3eb55e8d38c7823883a2830dcecfddd108336 (diff)
downloadperl-cfbf46cd7f497ed348c167b5b6cce3852462ff45.tar.gz
[patch@34600] vms.c setup_cmddsc
From: "John E. Malmberg" <wb8tyw@qsl.net> Message-id: <490923D3.90407@qsl.net> Remove trailing dot when efs_charset is in effect. p4raw-id: //depot/perl@34666
Diffstat (limited to 'vms')
-rw-r--r--vms/vms.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/vms/vms.c b/vms/vms.c
index 693eeb43e2..fda551fce3 100644
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -9892,6 +9892,19 @@ setup_cmddsc(pTHX_ const char *incmd, int check_img, int *suggest_quote,
*cp2 = '\0';
if (do_tovmsspec(resspec,cp,0,NULL)) {
s = vmsspec;
+
+ /* When a UNIX spec with no file type is translated to VMS, */
+ /* A trailing '.' is appended under ODS-5 rules. */
+ /* Here we do not want that trailing "." as it prevents */
+ /* Looking for a implied ".exe" type. */
+ if (decc_efs_charset) {
+ int i;
+ i = strlen(vmsspec);
+ if (vmsspec[i-1] == '.') {
+ vmsspec[i-1] = '\0';
+ }
+ }
+
if (*rest) {
for (cp2 = vmsspec + strlen(vmsspec);
*rest && cp2 - vmsspec < sizeof vmsspec;