summaryrefslogtreecommitdiff
path: root/vms/vms.c
diff options
context:
space:
mode:
authorCharles Bailey <bailey@newman.upenn.edu>1998-01-02 22:54:29 -0500
committerMalcolm Beattie <mbeattie@sable.ox.ac.uk>1998-01-08 12:56:31 +0000
commitfc1ce8cc0aa3c1d2926edfb2f302ea8c60b40168 (patch)
treed739c6f7d0538e687f6a8a3be61793919216e4f7 /vms/vms.c
parent0151c6efc77004eadcc86505e0e29b10208d3f66 (diff)
downloadperl-fc1ce8cc0aa3c1d2926edfb2f302ea8c60b40168.tar.gz
Assorted VMS patches (mostly VMS makefile update for new headers):
Subject: [PATCH] VMS update for 5.004_56 p4raw-id: //depot/perl@403
Diffstat (limited to 'vms/vms.c')
-rw-r--r--vms/vms.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/vms/vms.c b/vms/vms.c
index b55681984a..3831e3985e 100644
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -1019,6 +1019,14 @@ static char *do_fileify_dirspec(char *dir,char *buf,int ts)
if (*(cp1+2) == '.') cp1++;
if (*(cp1+2) == '/' || *(cp1+2) == '\0') {
if (do_tovmsspec(dir,vmsdir,0) == NULL) return NULL;
+ if (strchr(vmsdir,'/') != NULL) {
+ /* If do_tovmsspec() returned it, it must have VMS syntax
+ * delimiters in it, so it's a mixed VMS/Unix spec. We take
+ * the time to check this here only so we avoid a recursion
+ * loop; otherwise, gigo.
+ */
+ set_errno(EINVAL); set_vaxc_errno(RMS$_SYN); return NULL;
+ }
if (do_fileify_dirspec(vmsdir,trndir,0) == NULL) return NULL;
return do_tounixspec(trndir,buf,ts);
}