This bug is in the routine mp_to_vmsspec(). If it is passed a name like
"/foo" where foo is a logical name, with no other directories or file
names in the path, after the translation, the null terminator was always
being skipped over, and what ever was previously in that memory would
get concatenated to the string.
The result would usually be an unusable string.
As I fix the UNIX name handling elsewhere in the VMS specific parts of
perl to remove the "/000000" that should not be there, it may make this
bug more visible.
-John
[EMAIL PROTECTED]
Personal Opinion Only
--- vms/vms.c_blead Mon Aug 1 19:37:03 2005
+++ vms/vms.c Mon Aug 1 19:36:56 2005
@@ -3842,8 +3842,10 @@
if (!buf && ts) Renew(rslt,strlen(path)-strlen(rslt)+trnend+4,char);
strcpy(rslt,trndev);
cp1 = rslt + trnend;
- *(cp1++) = '.';
- cp2++;
+ if (*cp2 != 0) {
+ *(cp1++) = '.';
+ cp2++;
+ }
}
else {
*(cp1++) = ':';